@skillsmith/core 0.4.0 → 0.4.2

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 (612) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  3. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  4. package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -1
  5. package/dist/src/analysis/adapters/java-parsers.d.ts +64 -0
  6. package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -0
  7. package/dist/src/analysis/adapters/java-parsers.js +114 -0
  8. package/dist/src/analysis/adapters/java-parsers.js.map +1 -0
  9. package/dist/src/analysis/adapters/java.d.ts +1 -51
  10. package/dist/src/analysis/adapters/java.d.ts.map +1 -1
  11. package/dist/src/analysis/adapters/java.js +94 -205
  12. package/dist/src/analysis/adapters/java.js.map +1 -1
  13. package/dist/src/analysis/adapters/python-frameworks.d.ts +21 -0
  14. package/dist/src/analysis/adapters/python-frameworks.d.ts.map +1 -0
  15. package/dist/src/analysis/adapters/python-frameworks.js +86 -0
  16. package/dist/src/analysis/adapters/python-frameworks.js.map +1 -0
  17. package/dist/src/analysis/adapters/python.d.ts +0 -50
  18. package/dist/src/analysis/adapters/python.d.ts.map +1 -1
  19. package/dist/src/analysis/adapters/python.js +5 -120
  20. package/dist/src/analysis/adapters/python.js.map +1 -1
  21. package/dist/src/analysis/adapters/rust-parsers.d.ts +33 -0
  22. package/dist/src/analysis/adapters/rust-parsers.d.ts.map +1 -0
  23. package/dist/src/analysis/adapters/rust-parsers.js +94 -0
  24. package/dist/src/analysis/adapters/rust-parsers.js.map +1 -0
  25. package/dist/src/analysis/adapters/rust.d.ts +1 -43
  26. package/dist/src/analysis/adapters/rust.d.ts.map +1 -1
  27. package/dist/src/analysis/adapters/rust.js +74 -173
  28. package/dist/src/analysis/adapters/rust.js.map +1 -1
  29. package/dist/src/analysis/language-detector.d.ts +4 -20
  30. package/dist/src/analysis/language-detector.d.ts.map +1 -1
  31. package/dist/src/analysis/language-detector.js +2 -399
  32. package/dist/src/analysis/language-detector.js.map +1 -1
  33. package/dist/src/analysis/language-detector.patterns.d.ts +17 -0
  34. package/dist/src/analysis/language-detector.patterns.d.ts.map +1 -0
  35. package/dist/src/analysis/language-detector.patterns.js +413 -0
  36. package/dist/src/analysis/language-detector.patterns.js.map +1 -0
  37. package/dist/src/analysis/language-detector.types.d.ts +48 -0
  38. package/dist/src/analysis/language-detector.types.d.ts.map +1 -0
  39. package/dist/src/analysis/language-detector.types.js +6 -0
  40. package/dist/src/analysis/language-detector.types.js.map +1 -0
  41. package/dist/src/analysis/metrics.d.ts +22 -219
  42. package/dist/src/analysis/metrics.d.ts.map +1 -1
  43. package/dist/src/analysis/metrics.implementations.d.ts +39 -0
  44. package/dist/src/analysis/metrics.implementations.d.ts.map +1 -0
  45. package/dist/src/analysis/metrics.implementations.js +114 -0
  46. package/dist/src/analysis/metrics.implementations.js.map +1 -0
  47. package/dist/src/analysis/metrics.js +21 -224
  48. package/dist/src/analysis/metrics.js.map +1 -1
  49. package/dist/src/analysis/metrics.types.d.ts +79 -0
  50. package/dist/src/analysis/metrics.types.d.ts.map +1 -0
  51. package/dist/src/analysis/metrics.types.js +6 -0
  52. package/dist/src/analysis/metrics.types.js.map +1 -0
  53. package/dist/src/analysis/worker-pool.d.ts +25 -52
  54. package/dist/src/analysis/worker-pool.d.ts.map +1 -1
  55. package/dist/src/analysis/worker-pool.js +29 -181
  56. package/dist/src/analysis/worker-pool.js.map +1 -1
  57. package/dist/src/analysis/worker-types.d.ts +64 -0
  58. package/dist/src/analysis/worker-types.d.ts.map +1 -0
  59. package/dist/src/analysis/worker-types.js +11 -0
  60. package/dist/src/analysis/worker-types.js.map +1 -0
  61. package/dist/src/analysis/worker-utils.d.ts +49 -0
  62. package/dist/src/analysis/worker-utils.d.ts.map +1 -0
  63. package/dist/src/analysis/worker-utils.js +206 -0
  64. package/dist/src/analysis/worker-utils.js.map +1 -0
  65. package/dist/src/analytics/AnalyticsRepository.d.ts +1 -5
  66. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  67. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts +28 -0
  68. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts.map +1 -0
  69. package/dist/src/analytics/AnalyticsRepository.helpers.js +90 -0
  70. package/dist/src/analytics/AnalyticsRepository.helpers.js.map +1 -0
  71. package/dist/src/analytics/AnalyticsRepository.js +16 -129
  72. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  73. package/dist/src/analytics/AnalyticsRepository.types.d.ts +82 -0
  74. package/dist/src/analytics/AnalyticsRepository.types.d.ts.map +1 -0
  75. package/dist/src/analytics/AnalyticsRepository.types.js +8 -0
  76. package/dist/src/analytics/AnalyticsRepository.types.js.map +1 -0
  77. package/dist/src/analytics/ROIDashboardService.js +4 -2
  78. package/dist/src/analytics/ROIDashboardService.js.map +1 -1
  79. package/dist/src/api/cache.d.ts.map +1 -1
  80. package/dist/src/api/cache.js.map +1 -1
  81. package/dist/src/api/client.d.ts +6 -121
  82. package/dist/src/api/client.d.ts.map +1 -1
  83. package/dist/src/api/client.js +29 -129
  84. package/dist/src/api/client.js.map +1 -1
  85. package/dist/src/api/schemas.d.ts +122 -0
  86. package/dist/src/api/schemas.d.ts.map +1 -0
  87. package/dist/src/api/schemas.js +71 -0
  88. package/dist/src/api/schemas.js.map +1 -0
  89. package/dist/src/api/types.d.ts +1 -1
  90. package/dist/src/api/types.d.ts.map +1 -1
  91. package/dist/src/api/utils.d.ts +35 -0
  92. package/dist/src/api/utils.d.ts.map +1 -0
  93. package/dist/src/api/utils.js +86 -0
  94. package/dist/src/api/utils.js.map +1 -0
  95. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  96. package/dist/src/benchmarks/BenchmarkRunner.js +1 -1
  97. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  98. package/dist/src/billing/BillingService.d.ts +15 -53
  99. package/dist/src/billing/BillingService.d.ts.map +1 -1
  100. package/dist/src/billing/BillingService.helpers.d.ts +15 -0
  101. package/dist/src/billing/BillingService.helpers.d.ts.map +1 -0
  102. package/dist/src/billing/BillingService.helpers.js +45 -0
  103. package/dist/src/billing/BillingService.helpers.js.map +1 -0
  104. package/dist/src/billing/BillingService.js +49 -179
  105. package/dist/src/billing/BillingService.js.map +1 -1
  106. package/dist/src/billing/BillingService.types.d.ts +52 -0
  107. package/dist/src/billing/BillingService.types.d.ts.map +1 -0
  108. package/dist/src/billing/BillingService.types.js +6 -0
  109. package/dist/src/billing/BillingService.types.js.map +1 -0
  110. package/dist/src/billing/GDPRComplianceService.d.ts +2 -97
  111. package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
  112. package/dist/src/billing/GDPRComplianceService.js.map +1 -1
  113. package/dist/src/billing/StripeClient.d.ts +6 -64
  114. package/dist/src/billing/StripeClient.d.ts.map +1 -1
  115. package/dist/src/billing/StripeClient.js +14 -71
  116. package/dist/src/billing/StripeClient.js.map +1 -1
  117. package/dist/src/billing/StripeReconciliationJob.d.ts +2 -47
  118. package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
  119. package/dist/src/billing/StripeReconciliationJob.js +1 -41
  120. package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
  121. package/dist/src/billing/StripeWebhookHandler.d.ts +3 -46
  122. package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
  123. package/dist/src/billing/StripeWebhookHandler.js +14 -261
  124. package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
  125. package/dist/src/billing/gdpr-types.d.ts +103 -0
  126. package/dist/src/billing/gdpr-types.d.ts.map +1 -0
  127. package/dist/src/billing/gdpr-types.js +7 -0
  128. package/dist/src/billing/gdpr-types.js.map +1 -0
  129. package/dist/src/billing/reconciliation-helpers.d.ts +16 -0
  130. package/dist/src/billing/reconciliation-helpers.d.ts.map +1 -0
  131. package/dist/src/billing/reconciliation-helpers.js +53 -0
  132. package/dist/src/billing/reconciliation-helpers.js.map +1 -0
  133. package/dist/src/billing/reconciliation-types.d.ts +71 -0
  134. package/dist/src/billing/reconciliation-types.d.ts.map +1 -0
  135. package/dist/src/billing/reconciliation-types.js +7 -0
  136. package/dist/src/billing/reconciliation-types.js.map +1 -0
  137. package/dist/src/billing/stripe-client-types.d.ts +45 -0
  138. package/dist/src/billing/stripe-client-types.d.ts.map +1 -0
  139. package/dist/src/billing/stripe-client-types.js +7 -0
  140. package/dist/src/billing/stripe-client-types.js.map +1 -0
  141. package/dist/src/billing/stripe-helpers.d.ts +17 -0
  142. package/dist/src/billing/stripe-helpers.d.ts.map +1 -0
  143. package/dist/src/billing/stripe-helpers.js +50 -0
  144. package/dist/src/billing/stripe-helpers.js.map +1 -0
  145. package/dist/src/billing/webhook-handlers.d.ts +56 -0
  146. package/dist/src/billing/webhook-handlers.d.ts.map +1 -0
  147. package/dist/src/billing/webhook-handlers.js +303 -0
  148. package/dist/src/billing/webhook-handlers.js.map +1 -0
  149. package/dist/src/billing/webhook-types.d.ts +42 -0
  150. package/dist/src/billing/webhook-types.d.ts.map +1 -0
  151. package/dist/src/billing/webhook-types.js +7 -0
  152. package/dist/src/billing/webhook-types.js.map +1 -0
  153. package/dist/src/config/index.d.ts +118 -0
  154. package/dist/src/config/index.d.ts.map +1 -0
  155. package/dist/src/config/index.js +172 -0
  156. package/dist/src/config/index.js.map +1 -0
  157. package/dist/src/db/migration-types.d.ts +101 -0
  158. package/dist/src/db/migration-types.d.ts.map +1 -0
  159. package/dist/src/db/migration-types.js +6 -0
  160. package/dist/src/db/migration-types.js.map +1 -0
  161. package/dist/src/db/migration.d.ts +32 -0
  162. package/dist/src/db/migration.d.ts.map +1 -0
  163. package/dist/src/db/migration.js +239 -0
  164. package/dist/src/db/migration.js.map +1 -0
  165. package/dist/src/db/schema.d.ts +2 -2
  166. package/dist/src/db/schema.d.ts.map +1 -1
  167. package/dist/src/db/schema.js +23 -1
  168. package/dist/src/db/schema.js.map +1 -1
  169. package/dist/src/embeddings/embedding-types.d.ts +44 -0
  170. package/dist/src/embeddings/embedding-types.d.ts.map +1 -0
  171. package/dist/src/embeddings/embedding-types.js +6 -0
  172. package/dist/src/embeddings/embedding-types.js.map +1 -0
  173. package/dist/src/embeddings/embedding-utils.d.ts +42 -0
  174. package/dist/src/embeddings/embedding-utils.d.ts.map +1 -0
  175. package/dist/src/embeddings/embedding-utils.js +121 -0
  176. package/dist/src/embeddings/embedding-utils.js.map +1 -0
  177. package/dist/src/embeddings/hnsw-store.d.ts +8 -518
  178. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
  179. package/dist/src/embeddings/hnsw-store.helpers.d.ts +83 -0
  180. package/dist/src/embeddings/hnsw-store.helpers.d.ts.map +1 -0
  181. package/dist/src/embeddings/hnsw-store.helpers.js +147 -0
  182. package/dist/src/embeddings/hnsw-store.helpers.js.map +1 -0
  183. package/dist/src/embeddings/hnsw-store.js +66 -517
  184. package/dist/src/embeddings/hnsw-store.js.map +1 -1
  185. package/dist/src/embeddings/hnsw-store.types.d.ts +154 -0
  186. package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -0
  187. package/dist/src/embeddings/hnsw-store.types.js +26 -0
  188. package/dist/src/embeddings/hnsw-store.types.js.map +1 -0
  189. package/dist/src/embeddings/index.d.ts +36 -112
  190. package/dist/src/embeddings/index.d.ts.map +1 -1
  191. package/dist/src/embeddings/index.js +37 -210
  192. package/dist/src/embeddings/index.js.map +1 -1
  193. package/dist/src/errors.d.ts.map +1 -1
  194. package/dist/src/errors.js +1 -1
  195. package/dist/src/errors.js.map +1 -1
  196. package/dist/src/exports/repositories.d.ts +18 -0
  197. package/dist/src/exports/repositories.d.ts.map +1 -0
  198. package/dist/src/exports/repositories.js +30 -0
  199. package/dist/src/exports/repositories.js.map +1 -0
  200. package/dist/src/exports/services.d.ts +30 -0
  201. package/dist/src/exports/services.d.ts.map +1 -0
  202. package/dist/src/exports/services.js +70 -0
  203. package/dist/src/exports/services.js.map +1 -0
  204. package/dist/src/exports/types.d.ts +21 -0
  205. package/dist/src/exports/types.d.ts.map +1 -0
  206. package/dist/src/exports/types.js +12 -0
  207. package/dist/src/exports/types.js.map +1 -0
  208. package/dist/src/index.d.ts +10 -47
  209. package/dist/src/index.d.ts.map +1 -1
  210. package/dist/src/index.js +31 -48
  211. package/dist/src/index.js.map +1 -1
  212. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  213. package/dist/src/indexer/GitHubIndexer.js +17 -4
  214. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  215. package/dist/src/indexer/SwarmIndexer.d.ts.map +1 -1
  216. package/dist/src/indexer/SwarmIndexer.js +1 -1
  217. package/dist/src/indexer/SwarmIndexer.js.map +1 -1
  218. package/dist/src/learning/PatternStore.d.ts +6 -426
  219. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  220. package/dist/src/learning/PatternStore.helpers.d.ts +88 -0
  221. package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -0
  222. package/dist/src/learning/PatternStore.helpers.js +286 -0
  223. package/dist/src/learning/PatternStore.helpers.js.map +1 -0
  224. package/dist/src/learning/PatternStore.js +52 -598
  225. package/dist/src/learning/PatternStore.js.map +1 -1
  226. package/dist/src/learning/PatternStore.queries.d.ts +83 -0
  227. package/dist/src/learning/PatternStore.queries.d.ts.map +1 -0
  228. package/dist/src/learning/PatternStore.queries.js +189 -0
  229. package/dist/src/learning/PatternStore.queries.js.map +1 -0
  230. package/dist/src/learning/PatternStore.types.d.ts +308 -0
  231. package/dist/src/learning/PatternStore.types.d.ts.map +1 -0
  232. package/dist/src/learning/PatternStore.types.js +44 -0
  233. package/dist/src/learning/PatternStore.types.js.map +1 -0
  234. package/dist/src/learning/ReasoningBankIntegration.d.ts +5 -345
  235. package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -1
  236. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts +49 -0
  237. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts.map +1 -0
  238. package/dist/src/learning/ReasoningBankIntegration.helpers.js +180 -0
  239. package/dist/src/learning/ReasoningBankIntegration.helpers.js.map +1 -0
  240. package/dist/src/learning/ReasoningBankIntegration.js +21 -390
  241. package/dist/src/learning/ReasoningBankIntegration.js.map +1 -1
  242. package/dist/src/learning/ReasoningBankIntegration.types.d.ts +167 -0
  243. package/dist/src/learning/ReasoningBankIntegration.types.d.ts.map +1 -0
  244. package/dist/src/learning/ReasoningBankIntegration.types.js +51 -0
  245. package/dist/src/learning/ReasoningBankIntegration.types.js.map +1 -0
  246. package/dist/src/learning/interfaces.d.ts.map +1 -1
  247. package/dist/src/pipeline/DailyIndexPipeline.d.ts +4 -176
  248. package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -1
  249. package/dist/src/pipeline/DailyIndexPipeline.js +9 -83
  250. package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
  251. package/dist/src/pipeline/pipeline-types.d.ts +132 -0
  252. package/dist/src/pipeline/pipeline-types.d.ts.map +1 -0
  253. package/dist/src/pipeline/pipeline-types.js +6 -0
  254. package/dist/src/pipeline/pipeline-types.js.map +1 -0
  255. package/dist/src/repositories/IndexerRepository.d.ts +1 -0
  256. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  257. package/dist/src/repositories/IndexerRepository.js +6 -0
  258. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  259. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  260. package/dist/src/repositories/SkillRepository.js +20 -5
  261. package/dist/src/repositories/SkillRepository.js.map +1 -1
  262. package/dist/src/routing/SONARouter.d.ts +3 -101
  263. package/dist/src/routing/SONARouter.d.ts.map +1 -1
  264. package/dist/src/routing/SONARouter.helpers.d.ts +112 -0
  265. package/dist/src/routing/SONARouter.helpers.d.ts.map +1 -0
  266. package/dist/src/routing/SONARouter.helpers.js +184 -0
  267. package/dist/src/routing/SONARouter.helpers.js.map +1 -0
  268. package/dist/src/routing/SONARouter.js +16 -318
  269. package/dist/src/routing/SONARouter.js.map +1 -1
  270. package/dist/src/routing/expert-types.d.ts +109 -0
  271. package/dist/src/routing/expert-types.d.ts.map +1 -0
  272. package/dist/src/routing/expert-types.js +162 -0
  273. package/dist/src/routing/expert-types.js.map +1 -0
  274. package/dist/src/routing/request-types.d.ts +113 -0
  275. package/dist/src/routing/request-types.d.ts.map +1 -0
  276. package/dist/src/routing/request-types.js +9 -0
  277. package/dist/src/routing/request-types.js.map +1 -0
  278. package/dist/src/routing/types.d.ts +5 -207
  279. package/dist/src/routing/types.d.ts.map +1 -1
  280. package/dist/src/routing/types.js +3 -153
  281. package/dist/src/routing/types.js.map +1 -1
  282. package/dist/src/scripts/github-import/github-auth.d.ts +17 -0
  283. package/dist/src/scripts/github-import/github-auth.d.ts.map +1 -0
  284. package/dist/src/scripts/github-import/github-auth.js +201 -0
  285. package/dist/src/scripts/github-import/github-auth.js.map +1 -0
  286. package/dist/src/scripts/github-import/github-client.d.ts +5 -5
  287. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
  288. package/dist/src/scripts/github-import/github-client.js +5 -204
  289. package/dist/src/scripts/github-import/github-client.js.map +1 -1
  290. package/dist/src/scripts/ingest-lenny-skills.d.ts +40 -0
  291. package/dist/src/scripts/ingest-lenny-skills.d.ts.map +1 -0
  292. package/dist/src/scripts/ingest-lenny-skills.js +346 -0
  293. package/dist/src/scripts/ingest-lenny-skills.js.map +1 -0
  294. package/dist/src/scripts/merge-skills.d.ts +5 -27
  295. package/dist/src/scripts/merge-skills.d.ts.map +1 -1
  296. package/dist/src/scripts/merge-skills.js +4 -144
  297. package/dist/src/scripts/merge-skills.js.map +1 -1
  298. package/dist/src/scripts/merge-types.d.ts +72 -0
  299. package/dist/src/scripts/merge-types.d.ts.map +1 -0
  300. package/dist/src/scripts/merge-types.js +7 -0
  301. package/dist/src/scripts/merge-types.js.map +1 -0
  302. package/dist/src/scripts/merge-utils.d.ts +23 -0
  303. package/dist/src/scripts/merge-utils.d.ts.map +1 -0
  304. package/dist/src/scripts/merge-utils.js +150 -0
  305. package/dist/src/scripts/merge-utils.js.map +1 -0
  306. package/dist/src/scripts/review-categories.d.ts +41 -0
  307. package/dist/src/scripts/review-categories.d.ts.map +1 -0
  308. package/dist/src/scripts/review-categories.js +316 -0
  309. package/dist/src/scripts/review-categories.js.map +1 -0
  310. package/dist/src/scripts/review-lenny-skills.d.ts +26 -0
  311. package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -0
  312. package/dist/src/scripts/review-lenny-skills.js +215 -0
  313. package/dist/src/scripts/review-lenny-skills.js.map +1 -0
  314. package/dist/src/scripts/sync-to-supabase.d.ts +10 -0
  315. package/dist/src/scripts/sync-to-supabase.d.ts.map +1 -0
  316. package/dist/src/scripts/sync-to-supabase.js +93 -0
  317. package/dist/src/scripts/sync-to-supabase.js.map +1 -0
  318. package/dist/src/security/AuditLogger.d.ts +4 -75
  319. package/dist/src/security/AuditLogger.d.ts.map +1 -1
  320. package/dist/src/security/AuditLogger.js +3 -12
  321. package/dist/src/security/AuditLogger.js.map +1 -1
  322. package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
  323. package/dist/src/security/audit-types.d.ts +96 -0
  324. package/dist/src/security/audit-types.d.ts.map +1 -0
  325. package/dist/src/security/audit-types.js +15 -0
  326. package/dist/src/security/audit-types.js.map +1 -0
  327. package/dist/src/security/sanitization.d.ts +1 -85
  328. package/dist/src/security/sanitization.d.ts.map +1 -1
  329. package/dist/src/security/sanitization.js +2 -133
  330. package/dist/src/security/sanitization.js.map +1 -1
  331. package/dist/src/security/scanner/SecurityScanner.d.ts +12 -88
  332. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  333. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts +49 -0
  334. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts.map +1 -0
  335. package/dist/src/security/scanner/SecurityScanner.formatters.js +139 -0
  336. package/dist/src/security/scanner/SecurityScanner.formatters.js.map +1 -0
  337. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -0
  338. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -0
  339. package/dist/src/security/scanner/SecurityScanner.helpers.js +142 -0
  340. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -0
  341. package/dist/src/security/scanner/SecurityScanner.js +26 -255
  342. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  343. package/dist/src/security/stripe-validators.d.ts +92 -0
  344. package/dist/src/security/stripe-validators.d.ts.map +1 -0
  345. package/dist/src/security/stripe-validators.js +139 -0
  346. package/dist/src/security/stripe-validators.js.map +1 -0
  347. package/dist/src/services/SearchService.d.ts +5 -29
  348. package/dist/src/services/SearchService.d.ts.map +1 -1
  349. package/dist/src/services/SearchService.helpers.d.ts +42 -0
  350. package/dist/src/services/SearchService.helpers.d.ts.map +1 -0
  351. package/dist/src/services/SearchService.helpers.js +128 -0
  352. package/dist/src/services/SearchService.helpers.js.map +1 -0
  353. package/dist/src/services/SearchService.js +142 -128
  354. package/dist/src/services/SearchService.js.map +1 -1
  355. package/dist/src/services/SearchService.types.d.ts +53 -0
  356. package/dist/src/services/SearchService.types.d.ts.map +1 -0
  357. package/dist/src/services/SearchService.types.js +7 -0
  358. package/dist/src/services/SearchService.types.js.map +1 -0
  359. package/dist/src/services/SkillAnalyzer.d.ts +37 -0
  360. package/dist/src/services/SkillAnalyzer.d.ts.map +1 -0
  361. package/dist/src/services/SkillAnalyzer.helpers.d.ts +103 -0
  362. package/dist/src/services/SkillAnalyzer.helpers.d.ts.map +1 -0
  363. package/dist/src/services/SkillAnalyzer.helpers.js +237 -0
  364. package/dist/src/services/SkillAnalyzer.helpers.js.map +1 -0
  365. package/dist/src/services/SkillAnalyzer.js +270 -0
  366. package/dist/src/services/SkillAnalyzer.js.map +1 -0
  367. package/dist/src/services/SkillAnalyzer.types.d.ts +110 -0
  368. package/dist/src/services/SkillAnalyzer.types.d.ts.map +1 -0
  369. package/dist/src/services/SkillAnalyzer.types.js +9 -0
  370. package/dist/src/services/SkillAnalyzer.types.js.map +1 -0
  371. package/dist/src/services/SkillDecomposer.d.ts +37 -0
  372. package/dist/src/services/SkillDecomposer.d.ts.map +1 -0
  373. package/dist/src/services/SkillDecomposer.helpers.d.ts +75 -0
  374. package/dist/src/services/SkillDecomposer.helpers.d.ts.map +1 -0
  375. package/dist/src/services/SkillDecomposer.helpers.js +277 -0
  376. package/dist/src/services/SkillDecomposer.helpers.js.map +1 -0
  377. package/dist/src/services/SkillDecomposer.js +116 -0
  378. package/dist/src/services/SkillDecomposer.js.map +1 -0
  379. package/dist/src/services/SkillDecomposer.types.d.ts +104 -0
  380. package/dist/src/services/SkillDecomposer.types.d.ts.map +1 -0
  381. package/dist/src/services/SkillDecomposer.types.js +9 -0
  382. package/dist/src/services/SkillDecomposer.types.js.map +1 -0
  383. package/dist/src/services/SubagentGenerator.d.ts +77 -0
  384. package/dist/src/services/SubagentGenerator.d.ts.map +1 -0
  385. package/dist/src/services/SubagentGenerator.js +352 -0
  386. package/dist/src/services/SubagentGenerator.js.map +1 -0
  387. package/dist/src/services/TaskRunner.d.ts +227 -0
  388. package/dist/src/services/TaskRunner.d.ts.map +1 -0
  389. package/dist/src/services/TaskRunner.js +423 -0
  390. package/dist/src/services/TaskRunner.js.map +1 -0
  391. package/dist/src/services/TransformationService.d.ts +167 -0
  392. package/dist/src/services/TransformationService.d.ts.map +1 -0
  393. package/dist/src/services/TransformationService.js +315 -0
  394. package/dist/src/services/TransformationService.js.map +1 -0
  395. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts +6 -0
  396. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts.map +1 -0
  397. package/dist/src/services/__tests__/SkillAnalyzer.test.js +177 -0
  398. package/dist/src/services/__tests__/SkillAnalyzer.test.js.map +1 -0
  399. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts +6 -0
  400. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts.map +1 -0
  401. package/dist/src/services/__tests__/SkillDecomposer.test.js +235 -0
  402. package/dist/src/services/__tests__/SkillDecomposer.test.js.map +1 -0
  403. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts +6 -0
  404. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts.map +1 -0
  405. package/dist/src/services/__tests__/SubagentGenerator.test.js +174 -0
  406. package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -0
  407. package/dist/src/services/__tests__/TaskRunner.test.d.ts +7 -0
  408. package/dist/src/services/__tests__/TaskRunner.test.d.ts.map +1 -0
  409. package/dist/src/services/__tests__/TaskRunner.test.js +316 -0
  410. package/dist/src/services/__tests__/TaskRunner.test.js.map +1 -0
  411. package/dist/src/services/__tests__/TransformationService.test.d.ts +6 -0
  412. package/dist/src/services/__tests__/TransformationService.test.d.ts.map +1 -0
  413. package/dist/src/services/__tests__/TransformationService.test.js +244 -0
  414. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -0
  415. package/dist/src/session/SessionContext.js +1 -1
  416. package/dist/src/session/SessionContext.js.map +1 -1
  417. package/dist/src/session/SessionManager.d.ts +3 -67
  418. package/dist/src/session/SessionManager.d.ts.map +1 -1
  419. package/dist/src/session/SessionManager.helpers.d.ts +68 -0
  420. package/dist/src/session/SessionManager.helpers.d.ts.map +1 -0
  421. package/dist/src/session/SessionManager.helpers.js +152 -0
  422. package/dist/src/session/SessionManager.helpers.js.map +1 -0
  423. package/dist/src/session/SessionManager.js +58 -163
  424. package/dist/src/session/SessionManager.js.map +1 -1
  425. package/dist/src/session/SessionManager.types.d.ts +88 -0
  426. package/dist/src/session/SessionManager.types.d.ts.map +1 -0
  427. package/dist/src/session/SessionManager.types.js +27 -0
  428. package/dist/src/session/SessionManager.types.js.map +1 -0
  429. package/dist/src/session/SessionRecovery.d.ts.map +1 -1
  430. package/dist/src/session/SessionRecovery.js +3 -2
  431. package/dist/src/session/SessionRecovery.js.map +1 -1
  432. package/dist/src/sources/RawUrlSourceAdapter.js.map +1 -1
  433. package/dist/src/sources/SourceAdapterRegistry.js +1 -1
  434. package/dist/src/sources/SourceAdapterRegistry.js.map +1 -1
  435. package/dist/src/telemetry/metric-helpers.d.ts +47 -0
  436. package/dist/src/telemetry/metric-helpers.d.ts.map +1 -0
  437. package/dist/src/telemetry/metric-helpers.js +96 -0
  438. package/dist/src/telemetry/metric-helpers.js.map +1 -0
  439. package/dist/src/telemetry/metric-types.d.ts +73 -0
  440. package/dist/src/telemetry/metric-types.d.ts.map +1 -0
  441. package/dist/src/telemetry/metric-types.js +9 -0
  442. package/dist/src/telemetry/metric-types.js.map +1 -0
  443. package/dist/src/telemetry/metrics.d.ts +8 -119
  444. package/dist/src/telemetry/metrics.d.ts.map +1 -1
  445. package/dist/src/telemetry/metrics.js +20 -193
  446. package/dist/src/telemetry/metrics.js.map +1 -1
  447. package/dist/src/telemetry/span-utils.d.ts +30 -0
  448. package/dist/src/telemetry/span-utils.d.ts.map +1 -0
  449. package/dist/src/telemetry/span-utils.js +62 -0
  450. package/dist/src/telemetry/span-utils.js.map +1 -0
  451. package/dist/src/telemetry/tracer-types.d.ts +91 -0
  452. package/dist/src/telemetry/tracer-types.d.ts.map +1 -0
  453. package/dist/src/telemetry/tracer-types.js +6 -0
  454. package/dist/src/telemetry/tracer-types.js.map +1 -0
  455. package/dist/src/telemetry/tracer.d.ts +5 -122
  456. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  457. package/dist/src/telemetry/tracer.js +24 -170
  458. package/dist/src/telemetry/tracer.js.map +1 -1
  459. package/dist/src/testing/MultiLLMProvider.d.ts +17 -293
  460. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  461. package/dist/src/testing/MultiLLMProvider.helpers.d.ts +54 -0
  462. package/dist/src/testing/MultiLLMProvider.helpers.d.ts.map +1 -0
  463. package/dist/src/testing/MultiLLMProvider.helpers.js +126 -0
  464. package/dist/src/testing/MultiLLMProvider.helpers.js.map +1 -0
  465. package/dist/src/testing/MultiLLMProvider.js +50 -323
  466. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  467. package/dist/src/testing/MultiLLMProvider.types.d.ts +253 -0
  468. package/dist/src/testing/MultiLLMProvider.types.d.ts.map +1 -0
  469. package/dist/src/testing/MultiLLMProvider.types.js +111 -0
  470. package/dist/src/testing/MultiLLMProvider.types.js.map +1 -0
  471. package/dist/src/triggers/TriggerDetector.d.ts +6 -142
  472. package/dist/src/triggers/TriggerDetector.d.ts.map +1 -1
  473. package/dist/src/triggers/TriggerDetector.js +15 -247
  474. package/dist/src/triggers/TriggerDetector.js.map +1 -1
  475. package/dist/src/triggers/__tests__/TriggerDetector.test.js +1 -1
  476. package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -1
  477. package/dist/src/triggers/trigger-constants.d.ts +22 -0
  478. package/dist/src/triggers/trigger-constants.d.ts.map +1 -0
  479. package/dist/src/triggers/trigger-constants.js +185 -0
  480. package/dist/src/triggers/trigger-constants.js.map +1 -0
  481. package/dist/src/triggers/trigger-types.d.ts +90 -0
  482. package/dist/src/triggers/trigger-types.d.ts.map +1 -0
  483. package/dist/src/triggers/trigger-types.js +6 -0
  484. package/dist/src/triggers/trigger-types.js.map +1 -0
  485. package/dist/src/types/skill.d.ts +33 -1
  486. package/dist/src/types/skill.d.ts.map +1 -1
  487. package/dist/src/types/skill.js +11 -1
  488. package/dist/src/types/skill.js.map +1 -1
  489. package/dist/src/types.d.ts +28 -2
  490. package/dist/src/types.d.ts.map +1 -1
  491. package/dist/src/types.js +1 -0
  492. package/dist/src/types.js.map +1 -1
  493. package/dist/src/utils/retry.js +2 -2
  494. package/dist/src/utils/retry.js.map +1 -1
  495. package/dist/src/validation/index.d.ts +5 -105
  496. package/dist/src/validation/index.d.ts.map +1 -1
  497. package/dist/src/validation/index.js +9 -421
  498. package/dist/src/validation/index.js.map +1 -1
  499. package/dist/src/validation/input-validators.d.ts +68 -0
  500. package/dist/src/validation/input-validators.d.ts.map +1 -0
  501. package/dist/src/validation/input-validators.js +126 -0
  502. package/dist/src/validation/input-validators.js.map +1 -0
  503. package/dist/src/validation/path-validators.d.ts +23 -0
  504. package/dist/src/validation/path-validators.d.ts.map +1 -0
  505. package/dist/src/validation/path-validators.js +47 -0
  506. package/dist/src/validation/path-validators.js.map +1 -0
  507. package/dist/src/validation/url-validators.d.ts +55 -0
  508. package/dist/src/validation/url-validators.d.ts.map +1 -0
  509. package/dist/src/validation/url-validators.js +267 -0
  510. package/dist/src/validation/url-validators.js.map +1 -0
  511. package/dist/src/validation/validation-error.d.ts +14 -0
  512. package/dist/src/validation/validation-error.d.ts.map +1 -0
  513. package/dist/src/validation/validation-error.js +19 -0
  514. package/dist/src/validation/validation-error.js.map +1 -0
  515. package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -1
  516. package/dist/src/webhooks/WebhookHandler.js.map +1 -1
  517. package/dist/src/webhooks/WebhookPayload.d.ts +4 -215
  518. package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -1
  519. package/dist/src/webhooks/WebhookPayload.js +1 -122
  520. package/dist/src/webhooks/WebhookPayload.js.map +1 -1
  521. package/dist/src/webhooks/WebhookQueue.d.ts +2 -140
  522. package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
  523. package/dist/src/webhooks/WebhookQueue.js +4 -11
  524. package/dist/src/webhooks/WebhookQueue.js.map +1 -1
  525. package/dist/src/webhooks/WebhookQueue.types.d.ts +149 -0
  526. package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -0
  527. package/dist/src/webhooks/WebhookQueue.types.js +10 -0
  528. package/dist/src/webhooks/WebhookQueue.types.js.map +1 -0
  529. package/dist/src/webhooks/WebhookQueue.utils.d.ts +44 -0
  530. package/dist/src/webhooks/WebhookQueue.utils.d.ts.map +1 -0
  531. package/dist/src/webhooks/WebhookQueue.utils.js +58 -0
  532. package/dist/src/webhooks/WebhookQueue.utils.js.map +1 -0
  533. package/dist/src/webhooks/webhook-schemas.d.ts +213 -0
  534. package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -0
  535. package/dist/src/webhooks/webhook-schemas.js +132 -0
  536. package/dist/src/webhooks/webhook-schemas.js.map +1 -0
  537. package/dist/src/webhooks/webhook-types.d.ts +222 -0
  538. package/dist/src/webhooks/webhook-types.d.ts.map +1 -0
  539. package/dist/src/webhooks/webhook-types.js +10 -0
  540. package/dist/src/webhooks/webhook-types.js.map +1 -0
  541. package/dist/tests/Analytics.integration.test.js +2 -2
  542. package/dist/tests/Analytics.integration.test.js.map +1 -1
  543. package/dist/tests/AnalyticsRepository.test.js +3 -5
  544. package/dist/tests/AnalyticsRepository.test.js.map +1 -1
  545. package/dist/tests/AnalyticsStorage.test.js.map +1 -1
  546. package/dist/tests/ApiPartialResponses.test.d.ts +12 -0
  547. package/dist/tests/ApiPartialResponses.test.d.ts.map +1 -0
  548. package/dist/tests/ApiPartialResponses.test.js +202 -0
  549. package/dist/tests/ApiPartialResponses.test.js.map +1 -0
  550. package/dist/tests/AuditLogger.test.js.map +1 -1
  551. package/dist/tests/BenchmarkRunner.test.js +6 -6
  552. package/dist/tests/BenchmarkRunner.test.js.map +1 -1
  553. package/dist/tests/CacheSecurity.test.js.map +1 -1
  554. package/dist/tests/CodebaseAnalyzer.test.js.map +1 -1
  555. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  556. package/dist/tests/EmbeddingService.test.js.map +1 -1
  557. package/dist/tests/GitHubIndexer.test.js +4 -3
  558. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  559. package/dist/tests/MemoryProfiler.test.js +3 -3
  560. package/dist/tests/MemoryProfiler.test.js.map +1 -1
  561. package/dist/tests/QualityScorer.test.js.map +1 -1
  562. package/dist/tests/RateLimiter.test.js.map +1 -1
  563. package/dist/tests/ScraperAdapters.test.js.map +1 -1
  564. package/dist/tests/SecurityScanner.test.js +4 -4
  565. package/dist/tests/SecurityScanner.test.js.map +1 -1
  566. package/dist/tests/SessionManager.security.test.js +1 -1
  567. package/dist/tests/SessionManager.security.test.js.map +1 -1
  568. package/dist/tests/SessionManager.test.js +4 -4
  569. package/dist/tests/SessionManager.test.js.map +1 -1
  570. package/dist/tests/SwarmIndexer.test.js +1 -1
  571. package/dist/tests/SwarmIndexer.test.js.map +1 -1
  572. package/dist/tests/TieredCache.test.js +2 -11
  573. package/dist/tests/TieredCache.test.js.map +1 -1
  574. package/dist/tests/WebhookHandler.test.js.map +1 -1
  575. package/dist/tests/fixtures/api-responses/index.d.ts +119 -0
  576. package/dist/tests/fixtures/api-responses/index.d.ts.map +1 -0
  577. package/dist/tests/fixtures/api-responses/index.js +419 -0
  578. package/dist/tests/fixtures/api-responses/index.js.map +1 -0
  579. package/dist/tests/integration/neural/neural-fixtures.d.ts +19 -0
  580. package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
  581. package/dist/tests/integration/neural/neural-fixtures.js +49 -0
  582. package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
  583. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
  584. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
  585. package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
  586. package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
  587. package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
  588. package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
  589. package/dist/tests/integration/neural/neural-mocks.js +288 -0
  590. package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
  591. package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
  592. package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
  593. package/dist/tests/integration/neural/neural-test-utils.js +35 -0
  594. package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
  595. package/dist/tests/integration/neural/setup.d.ts +6 -165
  596. package/dist/tests/integration/neural/setup.d.ts.map +1 -1
  597. package/dist/tests/integration/neural/setup.js +9 -477
  598. package/dist/tests/integration/neural/setup.js.map +1 -1
  599. package/dist/tests/logger.test.js +1 -1
  600. package/dist/tests/logger.test.js.map +1 -1
  601. package/dist/tests/performance/LargeScalePerformance.test.js +1 -1
  602. package/dist/tests/performance/LargeScalePerformance.test.js.map +1 -1
  603. package/dist/tests/sanitization.test.js.map +1 -1
  604. package/dist/tests/session/SessionManager.helpers.test.d.ts +8 -0
  605. package/dist/tests/session/SessionManager.helpers.test.d.ts.map +1 -0
  606. package/dist/tests/session/SessionManager.helpers.test.js +105 -0
  607. package/dist/tests/session/SessionManager.helpers.test.js.map +1 -0
  608. package/dist/tests/sources.test.js.map +1 -1
  609. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js +1 -1
  610. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js.map +1 -1
  611. package/dist/tests/webhooks/WebhookPayload.security.test.js.map +1 -1
  612. package/package.json +11 -11
@@ -1,368 +1,9 @@
1
- /**
2
- * @fileoverview PatternStore with EWC++ for catastrophic forgetting prevention
3
- * @module @skillsmith/core/learning/PatternStore
4
- * @see SMI-1522: Add EWC++ pattern storage for successful matches
5
- *
6
- * Implements Elastic Weight Consolidation++ (EWC++) to store successful
7
- * recommendation patterns without catastrophic forgetting. Unlike traditional
8
- * storage that overwrites old patterns, EWC++ preserves important learned
9
- * patterns while integrating new ones.
10
- *
11
- * Key capabilities:
12
- * - storePattern(): Encodes successful matches with Fisher Information tracking
13
- * - findSimilarPatterns(): Retrieves relevant patterns using importance-weighted similarity
14
- * - consolidate(): Updates Fisher Information matrix without forgetting important patterns
15
- * - 95%+ pattern preservation: New patterns do not overwrite important historical patterns
16
- *
17
- * @see https://arxiv.org/abs/1801.10112 (Progress & Compress)
18
- */
19
- /**
20
- * EWC++ algorithm configuration
21
- *
22
- * @see https://arxiv.org/abs/1801.10112 (Progress & Compress)
23
- */
24
- export interface EWCConfig {
25
- /**
26
- * Lambda (regularization strength).
27
- * Higher values = stronger preservation of old patterns.
28
- *
29
- * - 0.1-1.0: Allows more plasticity (learning new patterns)
30
- * - 1.0-10.0: Balanced preservation and learning
31
- * - 10.0-100.0: Strong preservation (minimal forgetting)
32
- *
33
- * @default 5.0
34
- */
35
- lambda: number;
36
- /**
37
- * Decay factor for online Fisher Information updates.
38
- * Applied to running sum before adding new gradient squared.
39
- *
40
- * - 0.9: Fast decay, recent patterns dominate
41
- * - 0.99: Slow decay, historical patterns preserved longer
42
- * - 1.0: No decay (original EWC, not recommended)
43
- *
44
- * @default 0.95
45
- */
46
- fisherDecay: number;
47
- /**
48
- * Minimum importance threshold for pattern preservation.
49
- * Patterns below this threshold are eligible for overwriting.
50
- *
51
- * @default 0.01
52
- */
53
- importanceThreshold: number;
54
- /**
55
- * Number of patterns to sample for Fisher Information estimation.
56
- * Higher values = more accurate importance estimates but slower.
57
- *
58
- * @default 100
59
- */
60
- fisherSampleSize: number;
61
- /**
62
- * Consolidation trigger threshold.
63
- * Consolidate when (new_patterns / total_patterns) exceeds this.
64
- *
65
- * @default 0.1 (10%)
66
- */
67
- consolidationThreshold: number;
68
- /**
69
- * Maximum patterns to retain before pruning low-importance ones.
70
- *
71
- * @default 10000
72
- */
73
- maxPatterns: number;
74
- }
75
- /**
76
- * PatternStore configuration
77
- */
78
- export interface PatternStoreConfig {
79
- /**
80
- * Path to SQLite database for pattern storage.
81
- * If not provided, uses in-memory database.
82
- */
83
- dbPath?: string;
84
- /**
85
- * EWC++ algorithm parameters.
86
- */
87
- ewc?: Partial<EWCConfig>;
88
- /**
89
- * Embedding dimensions (must match embedding model).
90
- * @default 384 (all-MiniLM-L6-v2)
91
- */
92
- dimensions?: number;
93
- /**
94
- * Enable automatic consolidation on pattern insertion.
95
- * @default true
96
- */
97
- autoConsolidate?: boolean;
98
- /**
99
- * Enable pattern access tracking for importance boosting.
100
- * @default true
101
- */
102
- trackAccess?: boolean;
103
- /**
104
- * Enable V3 ReasoningBank integration.
105
- * @default true (auto-detect)
106
- */
107
- useV3Integration?: boolean;
108
- }
109
- /**
110
- * Default EWC++ configuration
111
- */
112
- export declare const DEFAULT_EWC_CONFIG: EWCConfig;
113
- /**
114
- * Default PatternStore configuration
115
- */
116
- export declare const DEFAULT_PATTERN_STORE_CONFIG: Required<Omit<PatternStoreConfig, 'dbPath'>> & {
117
- dbPath?: string;
118
- };
119
- /**
120
- * Pattern outcome types aligned with ReasoningBankIntegration rewards
121
- *
122
- * @see ReasoningBankIntegration.TRAJECTORY_REWARDS
123
- */
124
- export type PatternOutcomeType = 'accept' | 'usage' | 'frequent' | 'dismiss' | 'abandonment' | 'uninstall';
125
- /**
126
- * Outcome result for a pattern
127
- */
128
- export interface PatternOutcome {
129
- /** Type of outcome */
130
- type: PatternOutcomeType;
131
- /** Reward value [-1.0, 1.0] */
132
- reward: number;
133
- /** Confidence in this outcome (for partial observations) */
134
- confidence?: number;
135
- /** Additional metadata */
136
- metadata?: Record<string, unknown>;
137
- }
138
- /**
139
- * Reward values for pattern outcomes
140
- * Matches ReasoningBankIntegration.TRAJECTORY_REWARDS
141
- */
142
- export declare const PATTERN_REWARDS: Record<PatternOutcomeType, number>;
143
- /**
144
- * Context that led to a recommendation
145
- */
146
- export interface PatternRecommendationContext {
147
- /** User's current installed skills */
148
- installedSkills: string[];
149
- /** Frameworks/languages detected in project */
150
- frameworks?: string[];
151
- /** Keywords from user query or context */
152
- keywords?: string[];
153
- /** Time of day (for temporal patterns) */
154
- timeOfDay?: 'morning' | 'afternoon' | 'evening' | 'night';
155
- /** Day type (for usage patterns) */
156
- dayType?: 'weekday' | 'weekend';
157
- /** Session duration in minutes */
158
- sessionDuration?: number;
159
- /** Number of recommendations shown in session */
160
- recommendationsShown?: number;
161
- }
162
- /**
163
- * Skill features used in pattern matching
164
- */
165
- export interface SkillFeatures {
166
- /** Skill identifier (author/name format) */
167
- skillId: string;
168
- /** Skill category */
169
- category?: string;
170
- /** Trust tier (verified, community, experimental) */
171
- trustTier?: string;
172
- /** Skill keywords/tags */
173
- keywords?: string[];
174
- /** Trigger phrases */
175
- triggerPhrases?: string[];
176
- /** Quality score [0-100] */
177
- qualityScore?: number;
178
- /** Install count */
179
- installCount?: number;
180
- }
181
- /**
182
- * Complete pattern definition
183
- */
184
- export interface Pattern {
185
- /** Unique pattern identifier (auto-generated if not provided) */
186
- id?: string;
187
- /** Recommendation context that led to this match */
188
- context: PatternRecommendationContext;
189
- /** Skill that was recommended */
190
- skill: SkillFeatures;
191
- /** Original recommendation score [0-1] */
192
- originalScore: number;
193
- /** Source of the recommendation (search, recommend, install) */
194
- source: 'search' | 'recommend' | 'install' | 'compare';
195
- }
196
- /**
197
- * Stored pattern with computed fields
198
- */
199
- export interface StoredPattern extends Pattern {
200
- /** Pattern ID (guaranteed after storage) */
201
- id: string;
202
- /** Context embedding vector */
203
- contextEmbedding: Float32Array;
204
- /** Pattern outcome */
205
- outcome: PatternOutcome;
206
- /** Pattern importance (from Fisher Information) */
207
- importance: number;
208
- /** Number of times this pattern was accessed */
209
- accessCount: number;
210
- /** Creation timestamp */
211
- createdAt: Date;
212
- /** Last access timestamp */
213
- lastAccessedAt: Date;
214
- }
215
- /**
216
- * Pattern query for similarity search
217
- */
218
- export interface PatternQuery {
219
- /** Context to match against */
220
- context: PatternRecommendationContext;
221
- /** Optional skill to filter by */
222
- skillId?: string;
223
- /** Optional category filter */
224
- category?: string;
225
- /** Minimum importance threshold */
226
- minImportance?: number;
227
- /** Outcome type filter */
228
- outcomeType?: PatternOutcomeType;
229
- /** Only positive outcomes (accept, usage, frequent) */
230
- positiveOnly?: boolean;
231
- }
232
- /**
233
- * Similar pattern result
234
- */
235
- export interface SimilarPattern {
236
- /** The matched pattern */
237
- pattern: StoredPattern;
238
- /** Similarity score [0-1] */
239
- similarity: number;
240
- /** Importance-weighted similarity */
241
- weightedSimilarity: number;
242
- /** Rank in results */
243
- rank: number;
244
- }
245
- /**
246
- * Consolidation operation result
247
- */
248
- export interface ConsolidationResult {
249
- /** Whether consolidation was performed */
250
- consolidated: boolean;
251
- /** Patterns processed during consolidation */
252
- patternsProcessed: number;
253
- /** Patterns preserved (importance above threshold) */
254
- patternsPreserved: number;
255
- /** Patterns pruned (importance below threshold) */
256
- patternsPruned: number;
257
- /** Preservation rate (should be >= 0.95) */
258
- preservationRate: number;
259
- /** Time taken in milliseconds */
260
- durationMs: number;
261
- /** New average importance after consolidation */
262
- averageImportance: number;
263
- }
264
- /**
265
- * PatternStore metrics for monitoring
266
- */
267
- export interface PatternStoreMetrics {
268
- /** Total patterns stored */
269
- totalPatterns: number;
270
- /** Patterns by outcome type */
271
- patternsByOutcome: Record<PatternOutcomeType, number>;
272
- /** Average pattern importance */
273
- averageImportance: number;
274
- /** High importance patterns (above 90th percentile) */
275
- highImportancePatterns: number;
276
- /** Consolidation statistics */
277
- consolidation: {
278
- totalConsolidations: number;
279
- lastConsolidation: Date | null;
280
- averagePreservationRate: number;
281
- patternsPruned: number;
282
- };
283
- /** Storage statistics */
284
- storage: {
285
- sizeBytes: number;
286
- fisherMatrixSizeBytes: number;
287
- };
288
- /** Query performance */
289
- queryPerformance: {
290
- averageLatencyMs: number;
291
- queriesPerformed: number;
292
- };
293
- }
294
- /**
295
- * Fisher Information Matrix interface
296
- */
297
- export interface IFisherInformationMatrix {
298
- getImportance(dimensionIndex: number): number;
299
- update(gradient: Float32Array): void;
300
- decay(decayFactor: number): void;
301
- getImportanceVector(): Float32Array;
302
- getAverageImportance(): number;
303
- serialize(): Buffer;
304
- deserialize(buffer: Buffer): void;
305
- reset(): void;
306
- }
307
- /**
308
- * Fisher Information Matrix implementation for EWC++
309
- *
310
- * Stores diagonal approximation of Fisher Information,
311
- * indicating which "weights" (pattern dimensions) are important.
312
- *
313
- * In the context of pattern storage:
314
- * - Each dimension of the context embedding has an importance value
315
- * - High importance = changing this dimension would harm prediction
316
- * - Low importance = safe to overwrite with new patterns
317
- */
318
- export declare class FisherInformationMatrix implements IFisherInformationMatrix {
319
- private dimensions;
320
- /** Diagonal of Fisher Information (importance per dimension) */
321
- private importance;
322
- /** Running sum for online updates */
323
- private runningSum;
324
- /** Number of updates performed */
325
- private updateCount;
326
- constructor(dimensions: number);
327
- getImportance(dimensionIndex: number): number;
328
- update(gradient: Float32Array): void;
329
- decay(decayFactor: number): void;
330
- getImportanceVector(): Float32Array;
331
- getAverageImportance(): number;
332
- serialize(): Buffer;
333
- deserialize(buffer: Buffer): void;
334
- reset(): void;
335
- getUpdateCount(): number;
336
- }
337
- /**
338
- * PatternStore - EWC++ pattern storage for successful recommendation matches
339
- *
340
- * Prevents catastrophic forgetting by tracking which pattern dimensions
341
- * are important via Fisher Information Matrix and preserving high-importance
342
- * patterns during consolidation.
343
- *
344
- * @example
345
- * ```typescript
346
- * const store = new PatternStore({ dbPath: './patterns.db' })
347
- * await store.initialize()
348
- *
349
- * // Store a successful pattern
350
- * await store.storePattern(
351
- * {
352
- * context: { installedSkills: ['commit'], frameworks: ['react'] },
353
- * skill: { skillId: 'jest-helper', category: 'testing' },
354
- * originalScore: 0.85,
355
- * source: 'recommend'
356
- * },
357
- * { type: 'accept', reward: 1.0 }
358
- * )
359
- *
360
- * // Find similar patterns
361
- * const similar = await store.findSimilarPatterns({
362
- * context: { installedSkills: ['commit'], frameworks: ['react', 'typescript'] }
363
- * })
364
- * ```
365
- */
1
+ export type { EWCConfig, PatternStoreConfig, PatternOutcomeType, PatternOutcome, PatternRecommendationContext, SkillFeatures, Pattern, StoredPattern, PatternQuery, SimilarPattern, ConsolidationResult, PatternStoreMetrics, ConsolidationState, PatternRow, } from './PatternStore.types.js';
2
+ export { DEFAULT_EWC_CONFIG, DEFAULT_PATTERN_STORE_CONFIG, PATTERN_REWARDS, } from './PatternStore.types.js';
3
+ export type { IFisherInformationMatrix } from './PatternStore.helpers.js';
4
+ export { FisherInformationMatrix } from './PatternStore.helpers.js';
5
+ import type { PatternStoreConfig, PatternOutcome, Pattern, PatternQuery, SimilarPattern, ConsolidationResult, PatternStoreMetrics } from './PatternStore.types.js';
6
+ /** PatternStore - EWC++ pattern storage for successful recommendation matches */
366
7
  export declare class PatternStore {
367
8
  private db;
368
9
  private fisherMatrix;
@@ -374,84 +15,23 @@ export declare class PatternStore {
374
15
  private queryLatencies;
375
16
  private maxQuerySamples;
376
17
  constructor(config?: PatternStoreConfig);
377
- /**
378
- * Initialize the PatternStore
379
- */
380
18
  initialize(): Promise<void>;
381
- /**
382
- * Check if PatternStore is initialized
383
- */
384
19
  isInitialized(): boolean;
385
- /**
386
- * Attempt to initialize V3 ReasoningBank integration
387
- */
388
20
  private initializeV3Integration;
389
- /**
390
- * Store a pattern with EWC++ protection
391
- *
392
- * @param pattern - Pattern to store
393
- * @param outcome - Outcome of the recommendation
394
- * @returns Pattern ID
395
- */
396
21
  storePattern(pattern: Pattern, outcome: PatternOutcome): Promise<string>;
397
- /**
398
- * Find similar patterns using importance-weighted similarity
399
- *
400
- * @param query - Pattern query
401
- * @param limit - Maximum results
402
- * @returns Similar patterns sorted by weighted similarity
403
- */
404
22
  findSimilarPatterns(query: PatternQuery, limit?: number): Promise<SimilarPattern[]>;
405
- /**
406
- * Consolidate patterns using EWC++
407
- *
408
- * Applies Fisher decay, recalculates importance, and prunes low-importance patterns.
409
- * Guarantees 95%+ preservation of important patterns.
410
- *
411
- * @returns Consolidation result
412
- */
413
23
  consolidate(): Promise<ConsolidationResult>;
414
- /**
415
- * Get pattern importance value
416
- *
417
- * @param patternId - Pattern identifier
418
- * @returns Importance value or 0 if not found
419
- */
420
24
  getPatternImportance(patternId: string): number;
421
- /**
422
- * Get PatternStore metrics
423
- */
424
25
  getMetrics(): PatternStoreMetrics;
425
- /**
426
- * Close the PatternStore and release resources
427
- */
428
26
  close(): void;
429
27
  private ensureInitialized;
430
- private contextToText;
431
- private computeGradient;
432
28
  private computeAverageEmbedding;
433
- private deserializeEmbedding;
434
- private cosineSimilarity;
435
- private importanceWeightedSimilarity;
436
- private calculatePatternImportance;
437
- private calculateDimensionImportance;
438
29
  private shouldConsolidate;
439
- private getPatternCount;
440
- private getSamplePatterns;
441
- private getAllPatterns;
442
- private updatePatternInDB;
443
- private updatePatternImportance;
444
- private updateAccessCount;
445
- private deletePattern;
446
- private getDatabaseSize;
447
30
  private loadFisherMatrix;
448
31
  private saveFisherMatrix;
449
32
  }
450
33
  /**
451
34
  * Create and initialize a PatternStore instance
452
- *
453
- * @param config - Configuration options
454
- * @returns Initialized PatternStore
455
35
  */
456
36
  export declare function createPatternStore(config?: PatternStoreConfig): Promise<PatternStore>;
457
37
  //# sourceMappingURL=PatternStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PatternStore.d.ts","sourceRoot":"","sources":["../../../src/learning/PatternStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatternStore.d.ts","sourceRoot":"","sources":["../../../src/learning/PatternStore.ts"],"names":[],"mappings":"AAUA,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,4BAA4B,EAC5B,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,yBAAyB,CAAA;AAiChC,iFAAiF;AACjF,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,MAAM,CAAoE;IAClF,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,eAAe,CAAM;gBAEjB,MAAM,GAAE,kBAAuB;IAcrC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC,aAAa,IAAI,OAAO;YAIV,uBAAuB;IAY/B,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAiExE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA0EvF,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA2GjD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO/C,UAAU,IAAI,mBAAmB;IAsCjC,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,iBAAiB;YAMX,uBAAuB;IAoBrC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;CAIzB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAI/F"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @fileoverview PatternStore helper classes and utility functions
3
+ * @module @skillsmith/core/learning/PatternStore.helpers
4
+ *
5
+ * Contains FisherInformationMatrix implementation, SQL schema, and utility functions.
6
+ */
7
+ import type { PatternRecommendationContext, StoredPattern, PatternOutcome, PatternRow } from './PatternStore.types.js';
8
+ /**
9
+ * SQLite schema for pattern storage
10
+ */
11
+ export declare const PATTERN_STORE_SCHEMA = "\n-- Patterns table: stores recommendation patterns with outcomes\nCREATE TABLE IF NOT EXISTS patterns (\n pattern_id TEXT PRIMARY KEY,\n context_embedding BLOB NOT NULL,\n skill_id TEXT NOT NULL,\n skill_features TEXT NOT NULL,\n context_data TEXT NOT NULL,\n outcome_type TEXT NOT NULL,\n outcome_reward REAL NOT NULL,\n importance REAL NOT NULL DEFAULT 0.1,\n original_score REAL NOT NULL,\n source TEXT NOT NULL,\n access_count INTEGER NOT NULL DEFAULT 0,\n created_at INTEGER NOT NULL DEFAULT (unixepoch()),\n last_accessed_at INTEGER NOT NULL DEFAULT (unixepoch())\n);\n\n-- Indexes for efficient queries\nCREATE INDEX IF NOT EXISTS idx_patterns_skill_id ON patterns(skill_id);\nCREATE INDEX IF NOT EXISTS idx_patterns_outcome_type ON patterns(outcome_type);\nCREATE INDEX IF NOT EXISTS idx_patterns_importance ON patterns(importance DESC);\nCREATE INDEX IF NOT EXISTS idx_patterns_created_at ON patterns(created_at DESC);\n\n-- Fisher Information matrix state\nCREATE TABLE IF NOT EXISTS fisher_info (\n id INTEGER PRIMARY KEY DEFAULT 1,\n matrix_data BLOB NOT NULL,\n update_count INTEGER NOT NULL DEFAULT 0,\n last_decay_at INTEGER NOT NULL DEFAULT (unixepoch()),\n updated_at INTEGER NOT NULL DEFAULT (unixepoch())\n);\n\n-- Consolidation history for monitoring\nCREATE TABLE IF NOT EXISTS consolidation_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n timestamp INTEGER NOT NULL DEFAULT (unixepoch()),\n patterns_processed INTEGER NOT NULL,\n patterns_preserved INTEGER NOT NULL,\n patterns_pruned INTEGER NOT NULL,\n preservation_rate REAL NOT NULL,\n duration_ms INTEGER NOT NULL,\n average_importance REAL NOT NULL\n);\n";
12
+ /**
13
+ * Fisher Information Matrix interface
14
+ */
15
+ export interface IFisherInformationMatrix {
16
+ getImportance(dimensionIndex: number): number;
17
+ update(gradient: Float32Array): void;
18
+ decay(decayFactor: number): void;
19
+ getImportanceVector(): Float32Array;
20
+ getAverageImportance(): number;
21
+ serialize(): Buffer;
22
+ deserialize(buffer: Buffer): void;
23
+ reset(): void;
24
+ getUpdateCount(): number;
25
+ }
26
+ /**
27
+ * Fisher Information Matrix implementation for EWC++
28
+ *
29
+ * Stores diagonal approximation of Fisher Information,
30
+ * indicating which "weights" (pattern dimensions) are important.
31
+ *
32
+ * In the context of pattern storage:
33
+ * - Each dimension of the context embedding has an importance value
34
+ * - High importance = changing this dimension would harm prediction
35
+ * - Low importance = safe to overwrite with new patterns
36
+ */
37
+ export declare class FisherInformationMatrix implements IFisherInformationMatrix {
38
+ private dimensions;
39
+ /** Diagonal of Fisher Information (importance per dimension) */
40
+ private importance;
41
+ /** Running sum for online updates */
42
+ private runningSum;
43
+ /** Number of updates performed */
44
+ private updateCount;
45
+ constructor(dimensions: number);
46
+ getImportance(dimensionIndex: number): number;
47
+ update(gradient: Float32Array): void;
48
+ decay(decayFactor: number): void;
49
+ getImportanceVector(): Float32Array;
50
+ getAverageImportance(): number;
51
+ serialize(): Buffer;
52
+ deserialize(buffer: Buffer): void;
53
+ reset(): void;
54
+ getUpdateCount(): number;
55
+ }
56
+ /**
57
+ * Convert pattern context to text for embedding
58
+ */
59
+ export declare function contextToText(context: PatternRecommendationContext): string;
60
+ /**
61
+ * Compute gradient between two embeddings
62
+ */
63
+ export declare function computeGradient(a: Float32Array, b: Float32Array): Float32Array;
64
+ /**
65
+ * Deserialize embedding from buffer
66
+ */
67
+ export declare function deserializeEmbedding(buffer: Buffer, dimensions: number): Float32Array;
68
+ /**
69
+ * Calculate cosine similarity between two embeddings
70
+ */
71
+ export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
72
+ /**
73
+ * Calculate importance-weighted similarity
74
+ */
75
+ export declare function importanceWeightedSimilarity(a: Float32Array, b: Float32Array, importance: Float32Array): number;
76
+ /**
77
+ * Calculate pattern importance based on outcome and access patterns
78
+ */
79
+ export declare function calculatePatternImportance(pattern: StoredPattern, outcome: PatternOutcome): number;
80
+ /**
81
+ * Calculate dimension-based importance using Fisher Information
82
+ */
83
+ export declare function calculateDimensionImportance(pattern: StoredPattern, importanceVector: Float32Array, dimensions: number, lambda: number): number;
84
+ /**
85
+ * Convert database row to StoredPattern
86
+ */
87
+ export declare function rowToStoredPattern(row: PatternRow, dimensions: number): StoredPattern;
88
+ //# sourceMappingURL=PatternStore.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternStore.helpers.d.ts","sourceRoot":"","sources":["../../../src/learning/PatternStore.helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACb,cAAc,EACd,UAAU,EACX,MAAM,yBAAyB,CAAA;AAMhC;;GAEG;AACH,eAAO,MAAM,oBAAoB,ooDA4ChC,CAAA;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACpC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mBAAmB,IAAI,YAAY,CAAA;IACnC,oBAAoB,IAAI,MAAM,CAAA;IAC9B,SAAS,IAAI,MAAM,CAAA;IACnB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,IAAI,MAAM,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IAU1D,OAAO,CAAC,UAAU;IAT9B,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAAc;IAEhC,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAc;IAEhC,kCAAkC;IAClC,OAAO,CAAC,WAAW,CAAY;gBAEX,UAAU,EAAE,MAAM;IAKtC,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAI7C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAapC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUhC,mBAAmB,IAAI,YAAY;IAInC,oBAAoB,IAAI,MAAM;IAQ9B,SAAS,IAAI,MAAM;IAcnB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwBjC,KAAK,IAAI,IAAI;IAMb,cAAc,IAAI,MAAM;CAGzB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAoB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAM9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAMrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAazE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,UAAU,EAAE,YAAY,GACvB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,GACtB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,YAAY,EAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAiBrF"}