@skillsmith/core 0.1.2 → 0.2.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 (325) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/CodebaseAnalyzer.d.ts +4 -134
  3. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  4. package/dist/src/analysis/CodebaseAnalyzer.js +7 -315
  5. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  6. package/dist/src/analysis/framework-detector.d.ts +47 -0
  7. package/dist/src/analysis/framework-detector.d.ts.map +1 -0
  8. package/dist/src/analysis/framework-detector.js +151 -0
  9. package/dist/src/analysis/framework-detector.js.map +1 -0
  10. package/dist/src/analysis/index.d.ts +6 -1
  11. package/dist/src/analysis/index.d.ts.map +1 -1
  12. package/dist/src/analysis/index.js +10 -1
  13. package/dist/src/analysis/index.js.map +1 -1
  14. package/dist/src/analysis/parsers.d.ts +43 -0
  15. package/dist/src/analysis/parsers.d.ts.map +1 -0
  16. package/dist/src/analysis/parsers.js +219 -0
  17. package/dist/src/analysis/parsers.js.map +1 -0
  18. package/dist/src/analysis/types.d.ts +138 -0
  19. package/dist/src/analysis/types.d.ts.map +1 -0
  20. package/dist/src/analysis/types.js +25 -0
  21. package/dist/src/analysis/types.js.map +1 -0
  22. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  23. package/dist/src/analytics/AnalyticsRepository.js +4 -4
  24. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  25. package/dist/src/api/cache.d.ts +108 -0
  26. package/dist/src/api/cache.d.ts.map +1 -0
  27. package/dist/src/api/cache.js +216 -0
  28. package/dist/src/api/cache.js.map +1 -0
  29. package/dist/src/api/client.d.ts +152 -0
  30. package/dist/src/api/client.d.ts.map +1 -0
  31. package/dist/src/api/client.js +221 -0
  32. package/dist/src/api/client.js.map +1 -0
  33. package/dist/src/api/index.d.ts +10 -0
  34. package/dist/src/api/index.d.ts.map +1 -0
  35. package/dist/src/api/index.js +10 -0
  36. package/dist/src/api/index.js.map +1 -0
  37. package/dist/src/benchmarks/BenchmarkRunner.d.ts +6 -175
  38. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  39. package/dist/src/benchmarks/BenchmarkRunner.js +6 -123
  40. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  41. package/dist/src/benchmarks/MemoryProfiler.d.ts +4 -262
  42. package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -1
  43. package/dist/src/benchmarks/MemoryProfiler.js +4 -400
  44. package/dist/src/benchmarks/MemoryProfiler.js.map +1 -1
  45. package/dist/src/benchmarks/comparator.d.ts +38 -0
  46. package/dist/src/benchmarks/comparator.d.ts.map +1 -0
  47. package/dist/src/benchmarks/comparator.js +81 -0
  48. package/dist/src/benchmarks/comparator.js.map +1 -0
  49. package/dist/src/benchmarks/formatters.d.ts +30 -0
  50. package/dist/src/benchmarks/formatters.d.ts.map +1 -0
  51. package/dist/src/benchmarks/formatters.js +88 -0
  52. package/dist/src/benchmarks/formatters.js.map +1 -0
  53. package/dist/src/benchmarks/index.d.ts +5 -1
  54. package/dist/src/benchmarks/index.d.ts.map +1 -1
  55. package/dist/src/benchmarks/index.js +9 -2
  56. package/dist/src/benchmarks/index.js.map +1 -1
  57. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts +165 -0
  58. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -0
  59. package/dist/src/benchmarks/memory/MemoryProfiler.js +312 -0
  60. package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -0
  61. package/dist/src/benchmarks/memory/baseline-manager.d.ts +64 -0
  62. package/dist/src/benchmarks/memory/baseline-manager.d.ts.map +1 -0
  63. package/dist/src/benchmarks/memory/baseline-manager.js +95 -0
  64. package/dist/src/benchmarks/memory/baseline-manager.js.map +1 -0
  65. package/dist/src/benchmarks/memory/index.d.ts +12 -0
  66. package/dist/src/benchmarks/memory/index.d.ts.map +1 -0
  67. package/dist/src/benchmarks/memory/index.js +12 -0
  68. package/dist/src/benchmarks/memory/index.js.map +1 -0
  69. package/dist/src/benchmarks/memory/leak-detector.d.ts +23 -0
  70. package/dist/src/benchmarks/memory/leak-detector.d.ts.map +1 -0
  71. package/dist/src/benchmarks/memory/leak-detector.js +46 -0
  72. package/dist/src/benchmarks/memory/leak-detector.js.map +1 -0
  73. package/dist/src/benchmarks/memory/regression-detector.d.ts +17 -0
  74. package/dist/src/benchmarks/memory/regression-detector.d.ts.map +1 -0
  75. package/dist/src/benchmarks/memory/regression-detector.js +56 -0
  76. package/dist/src/benchmarks/memory/regression-detector.js.map +1 -0
  77. package/dist/src/benchmarks/memory/types.d.ts +111 -0
  78. package/dist/src/benchmarks/memory/types.d.ts.map +1 -0
  79. package/dist/src/benchmarks/memory/types.js +7 -0
  80. package/dist/src/benchmarks/memory/types.js.map +1 -0
  81. package/dist/src/benchmarks/memory/utils.d.ts +17 -0
  82. package/dist/src/benchmarks/memory/utils.d.ts.map +1 -0
  83. package/dist/src/benchmarks/memory/utils.js +29 -0
  84. package/dist/src/benchmarks/memory/utils.js.map +1 -0
  85. package/dist/src/benchmarks/types.d.ts +175 -0
  86. package/dist/src/benchmarks/types.d.ts.map +1 -0
  87. package/dist/src/benchmarks/types.js +20 -0
  88. package/dist/src/benchmarks/types.js.map +1 -0
  89. package/dist/src/index.d.ts +4 -2
  90. package/dist/src/index.d.ts.map +1 -1
  91. package/dist/src/index.js +7 -3
  92. package/dist/src/index.js.map +1 -1
  93. package/dist/src/repositories/QuarantineRepository.d.ts +4 -251
  94. package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -1
  95. package/dist/src/repositories/QuarantineRepository.js +4 -441
  96. package/dist/src/repositories/QuarantineRepository.js.map +1 -1
  97. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +168 -0
  98. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -0
  99. package/dist/src/repositories/quarantine/QuarantineRepository.js +341 -0
  100. package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -0
  101. package/dist/src/repositories/quarantine/index.d.ts +10 -0
  102. package/dist/src/repositories/quarantine/index.d.ts.map +1 -0
  103. package/dist/src/repositories/quarantine/index.js +10 -0
  104. package/dist/src/repositories/quarantine/index.js.map +1 -0
  105. package/dist/src/repositories/quarantine/queries.d.ts +58 -0
  106. package/dist/src/repositories/quarantine/queries.d.ts.map +1 -0
  107. package/dist/src/repositories/quarantine/queries.js +88 -0
  108. package/dist/src/repositories/quarantine/queries.js.map +1 -0
  109. package/dist/src/repositories/quarantine/query-builder.d.ts +44 -0
  110. package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -0
  111. package/dist/src/repositories/quarantine/query-builder.js +87 -0
  112. package/dist/src/repositories/quarantine/query-builder.js.map +1 -0
  113. package/dist/src/repositories/quarantine/types.d.ts +155 -0
  114. package/dist/src/repositories/quarantine/types.d.ts.map +1 -0
  115. package/dist/src/repositories/quarantine/types.js +13 -0
  116. package/dist/src/repositories/quarantine/types.js.map +1 -0
  117. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +1 -0
  118. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -1
  119. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +7 -43
  120. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  121. package/dist/src/scripts/github-import/checkpoint.d.ts +21 -0
  122. package/dist/src/scripts/github-import/checkpoint.d.ts.map +1 -0
  123. package/dist/src/scripts/github-import/checkpoint.js +52 -0
  124. package/dist/src/scripts/github-import/checkpoint.js.map +1 -0
  125. package/dist/src/scripts/github-import/deduplication.d.ts +15 -0
  126. package/dist/src/scripts/github-import/deduplication.d.ts.map +1 -0
  127. package/dist/src/scripts/github-import/deduplication.js +33 -0
  128. package/dist/src/scripts/github-import/deduplication.js.map +1 -0
  129. package/dist/src/scripts/github-import/github-client.d.ts +29 -0
  130. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -0
  131. package/dist/src/scripts/github-import/github-client.js +184 -0
  132. package/dist/src/scripts/github-import/github-client.js.map +1 -0
  133. package/dist/src/scripts/github-import/index.d.ts +29 -0
  134. package/dist/src/scripts/github-import/index.d.ts.map +1 -0
  135. package/dist/src/scripts/github-import/index.js +198 -0
  136. package/dist/src/scripts/github-import/index.js.map +1 -0
  137. package/dist/src/scripts/github-import/output.d.ts +12 -0
  138. package/dist/src/scripts/github-import/output.d.ts.map +1 -0
  139. package/dist/src/scripts/github-import/output.js +34 -0
  140. package/dist/src/scripts/github-import/output.js.map +1 -0
  141. package/dist/src/scripts/github-import/types.d.ts +108 -0
  142. package/dist/src/scripts/github-import/types.d.ts.map +1 -0
  143. package/dist/src/scripts/github-import/types.js +44 -0
  144. package/dist/src/scripts/github-import/types.js.map +1 -0
  145. package/dist/src/scripts/github-import/utils.d.ts +13 -0
  146. package/dist/src/scripts/github-import/utils.d.ts.map +1 -0
  147. package/dist/src/scripts/github-import/utils.js +28 -0
  148. package/dist/src/scripts/github-import/utils.js.map +1 -0
  149. package/dist/src/scripts/import-github-skills.d.ts +3 -12
  150. package/dist/src/scripts/import-github-skills.d.ts.map +1 -1
  151. package/dist/src/scripts/import-github-skills.js +18 -398
  152. package/dist/src/scripts/import-github-skills.js.map +1 -1
  153. package/dist/src/scripts/scan-imported-skills.d.ts +7 -7
  154. package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
  155. package/dist/src/scripts/scan-imported-skills.js +8 -397
  156. package/dist/src/scripts/scan-imported-skills.js.map +1 -1
  157. package/dist/src/scripts/skill-scanner/categorizer.d.ts +43 -0
  158. package/dist/src/scripts/skill-scanner/categorizer.d.ts.map +1 -0
  159. package/dist/src/scripts/skill-scanner/categorizer.js +61 -0
  160. package/dist/src/scripts/skill-scanner/categorizer.js.map +1 -0
  161. package/dist/src/scripts/skill-scanner/file-scanner.d.ts +43 -0
  162. package/dist/src/scripts/skill-scanner/file-scanner.d.ts.map +1 -0
  163. package/dist/src/scripts/skill-scanner/file-scanner.js +90 -0
  164. package/dist/src/scripts/skill-scanner/file-scanner.js.map +1 -0
  165. package/dist/src/scripts/skill-scanner/index.d.ts +22 -0
  166. package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -0
  167. package/dist/src/scripts/skill-scanner/index.js +43 -0
  168. package/dist/src/scripts/skill-scanner/index.js.map +1 -0
  169. package/dist/src/scripts/skill-scanner/logger.d.ts +59 -0
  170. package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -0
  171. package/dist/src/scripts/skill-scanner/logger.js +104 -0
  172. package/dist/src/scripts/skill-scanner/logger.js.map +1 -0
  173. package/dist/src/scripts/skill-scanner/reporter.d.ts +56 -0
  174. package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -0
  175. package/dist/src/scripts/skill-scanner/reporter.js +166 -0
  176. package/dist/src/scripts/skill-scanner/reporter.js.map +1 -0
  177. package/dist/src/scripts/skill-scanner/scanner.d.ts +44 -0
  178. package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -0
  179. package/dist/src/scripts/skill-scanner/scanner.js +140 -0
  180. package/dist/src/scripts/skill-scanner/scanner.js.map +1 -0
  181. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +59 -0
  182. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -0
  183. package/dist/src/scripts/skill-scanner/trust-scorer.js +62 -0
  184. package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -0
  185. package/dist/src/scripts/skill-scanner/types.d.ts +98 -0
  186. package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -0
  187. package/dist/src/scripts/skill-scanner/types.js +7 -0
  188. package/dist/src/scripts/skill-scanner/types.js.map +1 -0
  189. package/dist/src/scripts/validate-skills.d.ts +3 -172
  190. package/dist/src/scripts/validate-skills.d.ts.map +1 -1
  191. package/dist/src/scripts/validate-skills.js +6 -519
  192. package/dist/src/scripts/validate-skills.js.map +1 -1
  193. package/dist/src/scripts/validation/deduplication.d.ts +23 -0
  194. package/dist/src/scripts/validation/deduplication.d.ts.map +1 -0
  195. package/dist/src/scripts/validation/deduplication.js +127 -0
  196. package/dist/src/scripts/validation/deduplication.js.map +1 -0
  197. package/dist/src/scripts/validation/field-validators.d.ts +9 -0
  198. package/dist/src/scripts/validation/field-validators.d.ts.map +1 -0
  199. package/dist/src/scripts/validation/field-validators.js +135 -0
  200. package/dist/src/scripts/validation/field-validators.js.map +1 -0
  201. package/dist/src/scripts/validation/index.d.ts +29 -0
  202. package/dist/src/scripts/validation/index.d.ts.map +1 -0
  203. package/dist/src/scripts/validation/index.js +84 -0
  204. package/dist/src/scripts/validation/index.js.map +1 -0
  205. package/dist/src/scripts/validation/normalizers.d.ts +29 -0
  206. package/dist/src/scripts/validation/normalizers.d.ts.map +1 -0
  207. package/dist/src/scripts/validation/normalizers.js +79 -0
  208. package/dist/src/scripts/validation/normalizers.js.map +1 -0
  209. package/dist/src/scripts/validation/pipeline.d.ts +13 -0
  210. package/dist/src/scripts/validation/pipeline.d.ts.map +1 -0
  211. package/dist/src/scripts/validation/pipeline.js +126 -0
  212. package/dist/src/scripts/validation/pipeline.js.map +1 -0
  213. package/dist/src/scripts/validation/types.d.ts +128 -0
  214. package/dist/src/scripts/validation/types.d.ts.map +1 -0
  215. package/dist/src/scripts/validation/types.js +43 -0
  216. package/dist/src/scripts/validation/types.js.map +1 -0
  217. package/dist/src/security/index.d.ts +5 -4
  218. package/dist/src/security/index.d.ts.map +1 -1
  219. package/dist/src/security/index.js +8 -2
  220. package/dist/src/security/index.js.map +1 -1
  221. package/dist/src/security/rate-limiter/RateLimiter.d.ts +86 -0
  222. package/dist/src/security/rate-limiter/RateLimiter.d.ts.map +1 -0
  223. package/dist/src/security/rate-limiter/RateLimiter.js +260 -0
  224. package/dist/src/security/rate-limiter/RateLimiter.js.map +1 -0
  225. package/dist/src/security/rate-limiter/constants.d.ts +15 -0
  226. package/dist/src/security/rate-limiter/constants.d.ts.map +1 -0
  227. package/dist/src/security/rate-limiter/constants.js +15 -0
  228. package/dist/src/security/rate-limiter/constants.js.map +1 -0
  229. package/dist/src/security/rate-limiter/errors.d.ts +22 -0
  230. package/dist/src/security/rate-limiter/errors.d.ts.map +1 -0
  231. package/dist/src/security/rate-limiter/errors.js +32 -0
  232. package/dist/src/security/rate-limiter/errors.js.map +1 -0
  233. package/dist/src/security/rate-limiter/index.d.ts +12 -0
  234. package/dist/src/security/rate-limiter/index.d.ts.map +1 -0
  235. package/dist/src/security/rate-limiter/index.js +16 -0
  236. package/dist/src/security/rate-limiter/index.js.map +1 -0
  237. package/dist/src/security/rate-limiter/metrics-manager.d.ts +55 -0
  238. package/dist/src/security/rate-limiter/metrics-manager.d.ts.map +1 -0
  239. package/dist/src/security/rate-limiter/metrics-manager.js +144 -0
  240. package/dist/src/security/rate-limiter/metrics-manager.js.map +1 -0
  241. package/dist/src/security/rate-limiter/presets.d.ts +52 -0
  242. package/dist/src/security/rate-limiter/presets.d.ts.map +1 -0
  243. package/dist/src/security/rate-limiter/presets.js +53 -0
  244. package/dist/src/security/rate-limiter/presets.js.map +1 -0
  245. package/dist/src/security/rate-limiter/queue-manager.d.ts +59 -0
  246. package/dist/src/security/rate-limiter/queue-manager.d.ts.map +1 -0
  247. package/dist/src/security/rate-limiter/queue-manager.js +189 -0
  248. package/dist/src/security/rate-limiter/queue-manager.js.map +1 -0
  249. package/dist/src/security/rate-limiter/storage.d.ts +34 -0
  250. package/dist/src/security/rate-limiter/storage.d.ts.map +1 -0
  251. package/dist/src/security/rate-limiter/storage.js +80 -0
  252. package/dist/src/security/rate-limiter/storage.js.map +1 -0
  253. package/dist/src/security/rate-limiter/token-bucket.d.ts +44 -0
  254. package/dist/src/security/rate-limiter/token-bucket.d.ts.map +1 -0
  255. package/dist/src/security/rate-limiter/token-bucket.js +99 -0
  256. package/dist/src/security/rate-limiter/token-bucket.js.map +1 -0
  257. package/dist/src/security/rate-limiter/types.d.ts +104 -0
  258. package/dist/src/security/rate-limiter/types.d.ts.map +1 -0
  259. package/dist/src/security/rate-limiter/types.js +7 -0
  260. package/dist/src/security/rate-limiter/types.js.map +1 -0
  261. package/dist/src/security/scanner/SecurityScanner.d.ts +94 -0
  262. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -0
  263. package/dist/src/security/scanner/SecurityScanner.js +403 -0
  264. package/dist/src/security/scanner/SecurityScanner.js.map +1 -0
  265. package/dist/src/security/scanner/index.d.ts +11 -0
  266. package/dist/src/security/scanner/index.d.ts.map +1 -0
  267. package/dist/src/security/scanner/index.js +14 -0
  268. package/dist/src/security/scanner/index.js.map +1 -0
  269. package/dist/src/security/scanner/patterns.d.ts +14 -0
  270. package/dist/src/security/scanner/patterns.d.ts.map +1 -0
  271. package/dist/src/security/scanner/patterns.js +147 -0
  272. package/dist/src/security/scanner/patterns.js.map +1 -0
  273. package/dist/src/security/scanner/regex-utils.d.ts +33 -0
  274. package/dist/src/security/scanner/regex-utils.d.ts.map +1 -0
  275. package/dist/src/security/scanner/regex-utils.js +41 -0
  276. package/dist/src/security/scanner/regex-utils.js.map +1 -0
  277. package/dist/src/security/scanner/types.d.ts +63 -0
  278. package/dist/src/security/scanner/types.d.ts.map +1 -0
  279. package/dist/src/security/scanner/types.js +7 -0
  280. package/dist/src/security/scanner/types.js.map +1 -0
  281. package/dist/src/security/scanner/weights.d.ts +15 -0
  282. package/dist/src/security/scanner/weights.d.ts.map +1 -0
  283. package/dist/src/security/scanner/weights.js +28 -0
  284. package/dist/src/security/scanner/weights.js.map +1 -0
  285. package/dist/src/session/SessionHealthMonitor.d.ts +5 -168
  286. package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
  287. package/dist/src/session/SessionHealthMonitor.js +22 -91
  288. package/dist/src/session/SessionHealthMonitor.js.map +1 -1
  289. package/dist/src/session/health-checks.d.ts +37 -0
  290. package/dist/src/session/health-checks.d.ts.map +1 -0
  291. package/dist/src/session/health-checks.js +64 -0
  292. package/dist/src/session/health-checks.js.map +1 -0
  293. package/dist/src/session/health-types.d.ts +78 -0
  294. package/dist/src/session/health-types.d.ts.map +1 -0
  295. package/dist/src/session/health-types.js +16 -0
  296. package/dist/src/session/health-types.js.map +1 -0
  297. package/dist/src/session/index.d.ts +5 -1
  298. package/dist/src/session/index.d.ts.map +1 -1
  299. package/dist/src/session/index.js +9 -0
  300. package/dist/src/session/index.js.map +1 -1
  301. package/dist/src/session/metrics-collector.d.ts +23 -0
  302. package/dist/src/session/metrics-collector.d.ts.map +1 -0
  303. package/dist/src/session/metrics-collector.js +44 -0
  304. package/dist/src/session/metrics-collector.js.map +1 -0
  305. package/dist/src/session/typed-event-emitter.d.ts +70 -0
  306. package/dist/src/session/typed-event-emitter.d.ts.map +1 -0
  307. package/dist/src/session/typed-event-emitter.js +79 -0
  308. package/dist/src/session/typed-event-emitter.js.map +1 -0
  309. package/dist/src/sources/BaseSourceAdapter.d.ts +1 -1
  310. package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -1
  311. package/dist/src/sources/BaseSourceAdapter.js +2 -2
  312. package/dist/src/sources/BaseSourceAdapter.js.map +1 -1
  313. package/dist/src/telemetry/index.d.ts +1 -0
  314. package/dist/src/telemetry/index.d.ts.map +1 -1
  315. package/dist/src/telemetry/index.js +2 -0
  316. package/dist/src/telemetry/index.js.map +1 -1
  317. package/dist/src/telemetry/posthog.d.ts +125 -0
  318. package/dist/src/telemetry/posthog.d.ts.map +1 -0
  319. package/dist/src/telemetry/posthog.js +198 -0
  320. package/dist/src/telemetry/posthog.js.map +1 -0
  321. package/dist/tests/RateLimiter.test.js +4 -4
  322. package/dist/tests/RateLimiter.test.js.map +1 -1
  323. package/dist/tests/e2e/security/security.e2e.test.js +3 -3
  324. package/dist/tests/e2e/security/security.e2e.test.js.map +1 -1
  325. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProfiler.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/MemoryProfiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * SMI-689: Memory Baseline Manager
3
+ *
4
+ * Manages memory baselines for regression comparison.
5
+ */
6
+ import type { MemoryStats, MemoryBaseline } from './types.js';
7
+ /**
8
+ * Manages baseline storage and comparison for memory profiling.
9
+ */
10
+ export declare class BaselineManager {
11
+ private baselines;
12
+ /**
13
+ * Save a baseline from completed stats
14
+ *
15
+ * @param label - Label to save as baseline
16
+ * @param stats - Memory stats to create baseline from
17
+ * @returns Created baseline
18
+ */
19
+ saveBaseline(label: string, stats: MemoryStats): MemoryBaseline;
20
+ /**
21
+ * Load baselines from a JSON object
22
+ *
23
+ * @param baselines - Object mapping labels to baselines
24
+ */
25
+ loadBaselines(baselines: Record<string, MemoryBaseline>): void;
26
+ /**
27
+ * Get a baseline by label
28
+ *
29
+ * @param label - Label to look up
30
+ * @returns Baseline or undefined
31
+ */
32
+ getBaseline(label: string): MemoryBaseline | undefined;
33
+ /**
34
+ * Get all baselines
35
+ *
36
+ * @returns Map of label to MemoryBaseline
37
+ */
38
+ getBaselines(): Map<string, MemoryBaseline>;
39
+ /**
40
+ * Export baselines as JSON-serializable object
41
+ *
42
+ * @returns Object mapping labels to baselines
43
+ */
44
+ exportBaselines(): Record<string, MemoryBaseline>;
45
+ /**
46
+ * Clear all baselines
47
+ */
48
+ clear(): void;
49
+ /**
50
+ * Check if a baseline exists
51
+ *
52
+ * @param label - Label to check
53
+ * @returns True if baseline exists
54
+ */
55
+ hasBaseline(label: string): boolean;
56
+ /**
57
+ * Delete a specific baseline
58
+ *
59
+ * @param label - Label to delete
60
+ * @returns True if baseline was deleted
61
+ */
62
+ deleteBaseline(label: string): boolean;
63
+ }
64
+ //# sourceMappingURL=baseline-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline-manager.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/baseline-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7D;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAyC;IAE1D;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc;IAgB/D;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI;IAM9D;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAItD;;;;OAIG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAI3C;;;;OAIG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAQjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * SMI-689: Memory Baseline Manager
3
+ *
4
+ * Manages memory baselines for regression comparison.
5
+ */
6
+ /**
7
+ * Manages baseline storage and comparison for memory profiling.
8
+ */
9
+ export class BaselineManager {
10
+ baselines = new Map();
11
+ /**
12
+ * Save a baseline from completed stats
13
+ *
14
+ * @param label - Label to save as baseline
15
+ * @param stats - Memory stats to create baseline from
16
+ * @returns Created baseline
17
+ */
18
+ saveBaseline(label, stats) {
19
+ const baseline = {
20
+ label,
21
+ timestamp: new Date().toISOString(),
22
+ avgHeapUsed: (stats.startSnapshot.usedHeapSize +
23
+ (stats.endSnapshot?.usedHeapSize ?? stats.startSnapshot.usedHeapSize)) /
24
+ 2,
25
+ peakHeapUsed: stats.peakHeapUsed,
26
+ sampleCount: stats.sampleCount,
27
+ };
28
+ this.baselines.set(label, baseline);
29
+ return baseline;
30
+ }
31
+ /**
32
+ * Load baselines from a JSON object
33
+ *
34
+ * @param baselines - Object mapping labels to baselines
35
+ */
36
+ loadBaselines(baselines) {
37
+ for (const [label, baseline] of Object.entries(baselines)) {
38
+ this.baselines.set(label, baseline);
39
+ }
40
+ }
41
+ /**
42
+ * Get a baseline by label
43
+ *
44
+ * @param label - Label to look up
45
+ * @returns Baseline or undefined
46
+ */
47
+ getBaseline(label) {
48
+ return this.baselines.get(label);
49
+ }
50
+ /**
51
+ * Get all baselines
52
+ *
53
+ * @returns Map of label to MemoryBaseline
54
+ */
55
+ getBaselines() {
56
+ return new Map(this.baselines);
57
+ }
58
+ /**
59
+ * Export baselines as JSON-serializable object
60
+ *
61
+ * @returns Object mapping labels to baselines
62
+ */
63
+ exportBaselines() {
64
+ const result = {};
65
+ for (const [label, baseline] of this.baselines) {
66
+ result[label] = baseline;
67
+ }
68
+ return result;
69
+ }
70
+ /**
71
+ * Clear all baselines
72
+ */
73
+ clear() {
74
+ this.baselines.clear();
75
+ }
76
+ /**
77
+ * Check if a baseline exists
78
+ *
79
+ * @param label - Label to check
80
+ * @returns True if baseline exists
81
+ */
82
+ hasBaseline(label) {
83
+ return this.baselines.has(label);
84
+ }
85
+ /**
86
+ * Delete a specific baseline
87
+ *
88
+ * @param label - Label to delete
89
+ * @returns True if baseline was deleted
90
+ */
91
+ deleteBaseline(label) {
92
+ return this.baselines.delete(label);
93
+ }
94
+ }
95
+ //# sourceMappingURL=baseline-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline-manager.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/baseline-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,GAAgC,IAAI,GAAG,EAAE,CAAA;IAE1D;;;;;;OAMG;IACH,YAAY,CAAC,KAAa,EAAE,KAAkB;QAC5C,MAAM,QAAQ,GAAmB;YAC/B,KAAK;YACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW,EACT,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY;gBAC/B,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACxE,CAAC;YACH,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAA;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACnC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,SAAyC;QACrD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,MAAM,MAAM,GAAmC,EAAE,CAAA;QACjD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;QAC1B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Module
3
+ *
4
+ * Exports all memory profiling types and functionality.
5
+ */
6
+ export * from './types.js';
7
+ export * from './utils.js';
8
+ export * from './baseline-manager.js';
9
+ export * from './leak-detector.js';
10
+ export * from './regression-detector.js';
11
+ export { MemoryProfiler, defaultMemoryProfiler } from './MemoryProfiler.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Module
3
+ *
4
+ * Exports all memory profiling types and functionality.
5
+ */
6
+ export * from './types.js';
7
+ export * from './utils.js';
8
+ export * from './baseline-manager.js';
9
+ export * from './leak-detector.js';
10
+ export * from './regression-detector.js';
11
+ export { MemoryProfiler, defaultMemoryProfiler } from './MemoryProfiler.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SMI-689: Memory Leak Detector
3
+ *
4
+ * Detects potential memory leaks from completed tracking sessions.
5
+ */
6
+ import type { MemoryStats, LeakDetectionResult } from './types.js';
7
+ /**
8
+ * Detect potential memory leaks across completed tracking sessions
9
+ *
10
+ * @param completedStats - Map of label to completed MemoryStats
11
+ * @param threshold - Heap growth percentage threshold to consider a leak (default: 10%)
12
+ * @returns Leak detection result
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const result = detectLeaks(completedStats, 15); // 15% threshold
17
+ * if (result.hasLeaks) {
18
+ * console.error(`Potential leak detected: ${result.message}`);
19
+ * }
20
+ * ```
21
+ */
22
+ export declare function detectLeaks(completedStats: Map<string, MemoryStats>, threshold?: number): LeakDetectionResult;
23
+ //# sourceMappingURL=leak-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leak-detector.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/leak-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,SAAS,GAAE,MAAW,GACrB,mBAAmB,CA0BrB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * SMI-689: Memory Leak Detector
3
+ *
4
+ * Detects potential memory leaks from completed tracking sessions.
5
+ */
6
+ import { formatBytes } from './utils.js';
7
+ /**
8
+ * Detect potential memory leaks across completed tracking sessions
9
+ *
10
+ * @param completedStats - Map of label to completed MemoryStats
11
+ * @param threshold - Heap growth percentage threshold to consider a leak (default: 10%)
12
+ * @returns Leak detection result
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const result = detectLeaks(completedStats, 15); // 15% threshold
17
+ * if (result.hasLeaks) {
18
+ * console.error(`Potential leak detected: ${result.message}`);
19
+ * }
20
+ * ```
21
+ */
22
+ export function detectLeaks(completedStats, threshold = 10) {
23
+ const suspectedLabels = [];
24
+ let totalLeakedBytes = 0;
25
+ let maxGrowthPercent = 0;
26
+ for (const [label, stats] of completedStats) {
27
+ if (stats.heapGrowthPercent > threshold) {
28
+ suspectedLabels.push(label);
29
+ totalLeakedBytes += stats.heapGrowth;
30
+ maxGrowthPercent = Math.max(maxGrowthPercent, stats.heapGrowthPercent);
31
+ }
32
+ }
33
+ const hasLeaks = suspectedLabels.length > 0;
34
+ return {
35
+ hasLeaks,
36
+ threshold,
37
+ heapGrowthPercent: Math.round(maxGrowthPercent * 100) / 100,
38
+ leakedBytes: totalLeakedBytes,
39
+ suspectedLabels,
40
+ message: hasLeaks
41
+ ? `Potential memory leak detected in ${suspectedLabels.length} operation(s): ${suspectedLabels.join(', ')}. ` +
42
+ `Total leaked: ${formatBytes(totalLeakedBytes)}, max growth: ${maxGrowthPercent.toFixed(2)}%`
43
+ : `No memory leaks detected (threshold: ${threshold}%)`,
44
+ };
45
+ }
46
+ //# sourceMappingURL=leak-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leak-detector.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/leak-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CACzB,cAAwC,EACxC,YAAoB,EAAE;IAEtB,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IAExB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,iBAAiB,GAAG,SAAS,EAAE,CAAC;YACxC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAA;YACpC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;IAE3C,OAAO;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG;QAC3D,WAAW,EAAE,gBAAgB;QAC7B,eAAe;QACf,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,qCAAqC,eAAe,CAAC,MAAM,kBAAkB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC3G,iBAAiB,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAC/F,CAAC,CAAC,wCAAwC,SAAS,IAAI;KAC1D,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SMI-689: Memory Regression Detector
3
+ *
4
+ * Detects memory regressions by comparing current stats to baselines.
5
+ */
6
+ import type { MemoryStats, MemoryBaseline, MemoryRegressionResult } from './types.js';
7
+ /**
8
+ * Check for memory regression against a baseline
9
+ *
10
+ * @param label - Label to check
11
+ * @param baseline - Baseline to compare against (optional)
12
+ * @param currentStats - Current memory stats (optional)
13
+ * @param threshold - Regression threshold percentage (default: 10%)
14
+ * @returns Regression result
15
+ */
16
+ export declare function checkRegression(label: string, baseline: MemoryBaseline | undefined, currentStats: MemoryStats | undefined, threshold?: number): MemoryRegressionResult;
17
+ //# sourceMappingURL=regression-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regression-detector.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/regression-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAGrF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,SAAS,GAAE,MAAW,GACrB,sBAAsB,CA4CxB"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * SMI-689: Memory Regression Detector
3
+ *
4
+ * Detects memory regressions by comparing current stats to baselines.
5
+ */
6
+ import { formatBytes } from './utils.js';
7
+ /**
8
+ * Check for memory regression against a baseline
9
+ *
10
+ * @param label - Label to check
11
+ * @param baseline - Baseline to compare against (optional)
12
+ * @param currentStats - Current memory stats (optional)
13
+ * @param threshold - Regression threshold percentage (default: 10%)
14
+ * @returns Regression result
15
+ */
16
+ export function checkRegression(label, baseline, currentStats, threshold = 10) {
17
+ if (!baseline) {
18
+ return {
19
+ hasRegression: false,
20
+ threshold,
21
+ label,
22
+ baselineHeap: 0,
23
+ currentHeap: currentStats?.peakHeapUsed ?? 0,
24
+ changePercent: 0,
25
+ message: `No baseline exists for label: ${label}`,
26
+ };
27
+ }
28
+ if (!currentStats) {
29
+ return {
30
+ hasRegression: false,
31
+ threshold,
32
+ label,
33
+ baselineHeap: baseline.peakHeapUsed,
34
+ currentHeap: 0,
35
+ changePercent: 0,
36
+ message: `No current stats exist for label: ${label}`,
37
+ };
38
+ }
39
+ const changePercent = baseline.peakHeapUsed > 0
40
+ ? ((currentStats.peakHeapUsed - baseline.peakHeapUsed) / baseline.peakHeapUsed) * 100
41
+ : 0;
42
+ const hasRegression = changePercent > threshold;
43
+ return {
44
+ hasRegression,
45
+ threshold,
46
+ label,
47
+ baselineHeap: baseline.peakHeapUsed,
48
+ currentHeap: currentStats.peakHeapUsed,
49
+ changePercent: Math.round(changePercent * 100) / 100,
50
+ message: hasRegression
51
+ ? `Memory regression detected for ${label}: heap grew by ${changePercent.toFixed(2)}% ` +
52
+ `(${formatBytes(baseline.peakHeapUsed)} -> ${formatBytes(currentStats.peakHeapUsed)})`
53
+ : `No memory regression for ${label} (change: ${changePercent.toFixed(2)}%)`,
54
+ };
55
+ }
56
+ //# sourceMappingURL=regression-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regression-detector.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/regression-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,QAAoC,EACpC,YAAqC,EACrC,YAAoB,EAAE;IAEtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,SAAS;YACT,KAAK;YACL,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,YAAY,EAAE,YAAY,IAAI,CAAC;YAC5C,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,iCAAiC,KAAK,EAAE;SAClD,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,SAAS;YACT,KAAK;YACL,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,qCAAqC,KAAK,EAAE;SACtD,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GACjB,QAAQ,CAAC,YAAY,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,GAAG;QACrF,CAAC,CAAC,CAAC,CAAA;IAEP,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,CAAA;IAE/C,OAAO;QACL,aAAa;QACb,SAAS;QACT,KAAK;QACL,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,YAAY,CAAC,YAAY;QACtC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,GAAG;QACpD,OAAO,EAAE,aAAa;YACpB,CAAC,CAAC,kCAAkC,KAAK,kBAAkB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACrF,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG;YACxF,CAAC,CAAC,4BAA4B,KAAK,aAAa,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC/E,CAAA;AACH,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Types
3
+ *
4
+ * Type definitions for memory profiling and leak detection.
5
+ */
6
+ /**
7
+ * Memory snapshot at a point in time
8
+ */
9
+ export interface MemorySnapshot {
10
+ /** Timestamp when snapshot was taken */
11
+ timestamp: number;
12
+ /** Total heap size in bytes */
13
+ totalHeapSize: number;
14
+ /** Used heap size in bytes */
15
+ usedHeapSize: number;
16
+ /** External memory in bytes (ArrayBuffers, etc.) */
17
+ externalMemory: number;
18
+ /** Heap size limit in bytes */
19
+ heapSizeLimit: number;
20
+ /** Total physical memory allocated in bytes */
21
+ totalPhysicalSize: number;
22
+ /** Total available memory in bytes */
23
+ totalAvailableSize: number;
24
+ /** Malloced memory in bytes */
25
+ mallocedMemory: number;
26
+ /** Peak malloced memory in bytes */
27
+ peakMallocedMemory: number;
28
+ }
29
+ /**
30
+ * Statistics for a tracked memory operation
31
+ */
32
+ export interface MemoryStats {
33
+ /** Label for the tracked operation */
34
+ label: string;
35
+ /** Start snapshot */
36
+ startSnapshot: MemorySnapshot;
37
+ /** End snapshot (undefined if still tracking) */
38
+ endSnapshot?: MemorySnapshot;
39
+ /** Duration in milliseconds */
40
+ duration: number;
41
+ /** Heap growth in bytes */
42
+ heapGrowth: number;
43
+ /** Heap growth as percentage */
44
+ heapGrowthPercent: number;
45
+ /** Peak heap usage during tracking */
46
+ peakHeapUsed: number;
47
+ /** Number of samples taken */
48
+ sampleCount: number;
49
+ }
50
+ /**
51
+ * Memory baseline for regression comparison
52
+ */
53
+ export interface MemoryBaseline {
54
+ /** Label for the baseline */
55
+ label: string;
56
+ /** Timestamp when baseline was created */
57
+ timestamp: string;
58
+ /** Average heap usage in bytes */
59
+ avgHeapUsed: number;
60
+ /** Peak heap usage in bytes */
61
+ peakHeapUsed: number;
62
+ /** Number of samples in baseline */
63
+ sampleCount: number;
64
+ }
65
+ /**
66
+ * Result of leak detection
67
+ */
68
+ export interface LeakDetectionResult {
69
+ /** Whether potential leaks were detected */
70
+ hasLeaks: boolean;
71
+ /** Threshold used for detection (percentage) */
72
+ threshold: number;
73
+ /** Actual heap growth percentage */
74
+ heapGrowthPercent: number;
75
+ /** Bytes of suspected leak */
76
+ leakedBytes: number;
77
+ /** Labels of operations with suspected leaks */
78
+ suspectedLabels: string[];
79
+ /** Detailed message */
80
+ message: string;
81
+ }
82
+ /**
83
+ * Memory regression result
84
+ */
85
+ export interface MemoryRegressionResult {
86
+ /** Whether regression was detected */
87
+ hasRegression: boolean;
88
+ /** Threshold used (percentage) */
89
+ threshold: number;
90
+ /** Label of the operation */
91
+ label: string;
92
+ /** Baseline heap usage */
93
+ baselineHeap: number;
94
+ /** Current heap usage */
95
+ currentHeap: number;
96
+ /** Change percentage */
97
+ changePercent: number;
98
+ /** Detailed message */
99
+ message: string;
100
+ }
101
+ /**
102
+ * Tracking entry for an operation
103
+ */
104
+ export interface TrackingEntry {
105
+ label: string;
106
+ startSnapshot: MemorySnapshot;
107
+ startTime: number;
108
+ samples: MemorySnapshot[];
109
+ samplingInterval?: NodeJS.Timeout;
110
+ }
111
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAA;IACtB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,aAAa,EAAE,cAAc,CAAA;IAC7B,iDAAiD;IACjD,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAA;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAA;IACzB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,aAAa,EAAE,OAAO,CAAA;IACtB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,wBAAwB;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,cAAc,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;CAClC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Types
3
+ *
4
+ * Type definitions for memory profiling and leak detection.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Utilities
3
+ *
4
+ * Utility functions for memory profiling.
5
+ */
6
+ /**
7
+ * Format bytes to human-readable string
8
+ *
9
+ * @param bytes - Number of bytes to format
10
+ * @returns Human-readable string (e.g., "1.5 MB")
11
+ */
12
+ export declare function formatBytes(bytes: number): string;
13
+ /**
14
+ * Force garbage collection if available
15
+ */
16
+ export declare function forceGC(): void;
17
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/benchmarks/memory/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAI9B"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SMI-689: Memory Profiler Utilities
3
+ *
4
+ * Utility functions for memory profiling.
5
+ */
6
+ /**
7
+ * Format bytes to human-readable string
8
+ *
9
+ * @param bytes - Number of bytes to format
10
+ * @returns Human-readable string (e.g., "1.5 MB")
11
+ */
12
+ export function formatBytes(bytes) {
13
+ if (bytes === 0)
14
+ return '0 B';
15
+ const k = 1024;
16
+ const sizes = ['B', 'KB', 'MB', 'GB'];
17
+ const i = Math.floor(Math.log(Math.abs(bytes)) / Math.log(k));
18
+ const value = bytes / Math.pow(k, i);
19
+ return `${value.toFixed(1)} ${sizes[i]}`;
20
+ }
21
+ /**
22
+ * Force garbage collection if available
23
+ */
24
+ export function forceGC() {
25
+ if (typeof global.gc === 'function') {
26
+ global.gc();
27
+ }
28
+ }
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/benchmarks/memory/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAA;IACd,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,EAAE,EAAE,CAAA;IACb,CAAC;AACH,CAAC"}