@skillsmith/core 0.1.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/README.md +235 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/analysis/CodebaseAnalyzer.d.ts +4 -134
  4. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  5. package/dist/src/analysis/CodebaseAnalyzer.js +7 -315
  6. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  7. package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
  8. package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
  9. package/dist/src/analysis/__tests__/incremental.test.js +515 -0
  10. package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
  11. package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
  12. package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
  13. package/dist/src/analysis/__tests__/integration.test.js +1059 -0
  14. package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
  15. package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
  16. package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
  17. package/dist/src/analysis/__tests__/metrics.test.js +369 -0
  18. package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
  19. package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
  20. package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
  21. package/dist/src/analysis/__tests__/performance.test.js +402 -0
  22. package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
  23. package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
  24. package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
  25. package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
  26. package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
  27. package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
  28. package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
  29. package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
  30. package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
  31. package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
  32. package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
  33. package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
  34. package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
  35. package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
  36. package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
  37. package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
  38. package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
  39. package/dist/src/analysis/adapters/base.d.ts +83 -0
  40. package/dist/src/analysis/adapters/base.d.ts.map +1 -0
  41. package/dist/src/analysis/adapters/base.js +40 -0
  42. package/dist/src/analysis/adapters/base.js.map +1 -0
  43. package/dist/src/analysis/adapters/factory.d.ts +150 -0
  44. package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
  45. package/dist/src/analysis/adapters/factory.js +244 -0
  46. package/dist/src/analysis/adapters/factory.js.map +1 -0
  47. package/dist/src/analysis/adapters/go.d.ts +131 -0
  48. package/dist/src/analysis/adapters/go.d.ts.map +1 -0
  49. package/dist/src/analysis/adapters/go.js +414 -0
  50. package/dist/src/analysis/adapters/go.js.map +1 -0
  51. package/dist/src/analysis/adapters/index.d.ts +20 -0
  52. package/dist/src/analysis/adapters/index.d.ts.map +1 -0
  53. package/dist/src/analysis/adapters/index.js +23 -0
  54. package/dist/src/analysis/adapters/index.js.map +1 -0
  55. package/dist/src/analysis/adapters/java.d.ts +154 -0
  56. package/dist/src/analysis/adapters/java.d.ts.map +1 -0
  57. package/dist/src/analysis/adapters/java.js +407 -0
  58. package/dist/src/analysis/adapters/java.js.map +1 -0
  59. package/dist/src/analysis/adapters/python.d.ts +165 -0
  60. package/dist/src/analysis/adapters/python.d.ts.map +1 -0
  61. package/dist/src/analysis/adapters/python.js +475 -0
  62. package/dist/src/analysis/adapters/python.js.map +1 -0
  63. package/dist/src/analysis/adapters/rust.d.ts +116 -0
  64. package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
  65. package/dist/src/analysis/adapters/rust.js +476 -0
  66. package/dist/src/analysis/adapters/rust.js.map +1 -0
  67. package/dist/src/analysis/adapters/typescript.d.ts +68 -0
  68. package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
  69. package/dist/src/analysis/adapters/typescript.js +79 -0
  70. package/dist/src/analysis/adapters/typescript.js.map +1 -0
  71. package/dist/src/analysis/aggregator.d.ts +193 -0
  72. package/dist/src/analysis/aggregator.d.ts.map +1 -0
  73. package/dist/src/analysis/aggregator.js +283 -0
  74. package/dist/src/analysis/aggregator.js.map +1 -0
  75. package/dist/src/analysis/cache.d.ts +180 -0
  76. package/dist/src/analysis/cache.d.ts.map +1 -0
  77. package/dist/src/analysis/cache.js +279 -0
  78. package/dist/src/analysis/cache.js.map +1 -0
  79. package/dist/src/analysis/file-streamer.d.ts +136 -0
  80. package/dist/src/analysis/file-streamer.d.ts.map +1 -0
  81. package/dist/src/analysis/file-streamer.js +291 -0
  82. package/dist/src/analysis/file-streamer.js.map +1 -0
  83. package/dist/src/analysis/framework-detector.d.ts +47 -0
  84. package/dist/src/analysis/framework-detector.d.ts.map +1 -0
  85. package/dist/src/analysis/framework-detector.js +151 -0
  86. package/dist/src/analysis/framework-detector.js.map +1 -0
  87. package/dist/src/analysis/incremental-parser.d.ts +186 -0
  88. package/dist/src/analysis/incremental-parser.d.ts.map +1 -0
  89. package/dist/src/analysis/incremental-parser.js +291 -0
  90. package/dist/src/analysis/incremental-parser.js.map +1 -0
  91. package/dist/src/analysis/incremental.d.ts +186 -0
  92. package/dist/src/analysis/incremental.d.ts.map +1 -0
  93. package/dist/src/analysis/incremental.js +247 -0
  94. package/dist/src/analysis/incremental.js.map +1 -0
  95. package/dist/src/analysis/index.d.ts +29 -2
  96. package/dist/src/analysis/index.d.ts.map +1 -1
  97. package/dist/src/analysis/index.js +53 -2
  98. package/dist/src/analysis/index.js.map +1 -1
  99. package/dist/src/analysis/language-detector.d.ts +92 -0
  100. package/dist/src/analysis/language-detector.d.ts.map +1 -0
  101. package/dist/src/analysis/language-detector.js +602 -0
  102. package/dist/src/analysis/language-detector.js.map +1 -0
  103. package/dist/src/analysis/memory-monitor.d.ts +199 -0
  104. package/dist/src/analysis/memory-monitor.d.ts.map +1 -0
  105. package/dist/src/analysis/memory-monitor.js +271 -0
  106. package/dist/src/analysis/memory-monitor.js.map +1 -0
  107. package/dist/src/analysis/metrics.d.ts +300 -0
  108. package/dist/src/analysis/metrics.d.ts.map +1 -0
  109. package/dist/src/analysis/metrics.js +537 -0
  110. package/dist/src/analysis/metrics.js.map +1 -0
  111. package/dist/src/analysis/parsers.d.ts +43 -0
  112. package/dist/src/analysis/parsers.d.ts.map +1 -0
  113. package/dist/src/analysis/parsers.js +219 -0
  114. package/dist/src/analysis/parsers.js.map +1 -0
  115. package/dist/src/analysis/router.d.ts +264 -0
  116. package/dist/src/analysis/router.d.ts.map +1 -0
  117. package/dist/src/analysis/router.js +398 -0
  118. package/dist/src/analysis/router.js.map +1 -0
  119. package/dist/src/analysis/tree-cache.d.ts +208 -0
  120. package/dist/src/analysis/tree-cache.d.ts.map +1 -0
  121. package/dist/src/analysis/tree-cache.js +288 -0
  122. package/dist/src/analysis/tree-cache.js.map +1 -0
  123. package/dist/src/analysis/tree-sitter/manager.d.ts +141 -0
  124. package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -0
  125. package/dist/src/analysis/tree-sitter/manager.js +239 -0
  126. package/dist/src/analysis/tree-sitter/manager.js.map +1 -0
  127. package/dist/src/analysis/types.d.ts +203 -0
  128. package/dist/src/analysis/types.d.ts.map +1 -0
  129. package/dist/src/analysis/types.js +58 -0
  130. package/dist/src/analysis/types.js.map +1 -0
  131. package/dist/src/analysis/worker-pool.d.ts +141 -0
  132. package/dist/src/analysis/worker-pool.d.ts.map +1 -0
  133. package/dist/src/analysis/worker-pool.js +418 -0
  134. package/dist/src/analysis/worker-pool.js.map +1 -0
  135. package/dist/src/analytics/AnalyticsRepository.d.ts +4 -0
  136. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  137. package/dist/src/analytics/AnalyticsRepository.js +30 -48
  138. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  139. package/dist/src/analytics/schema.d.ts +1 -1
  140. package/dist/src/analytics/schema.d.ts.map +1 -1
  141. package/dist/src/analytics/schema.js +140 -0
  142. package/dist/src/analytics/schema.js.map +1 -1
  143. package/dist/src/api/cache.d.ts +131 -0
  144. package/dist/src/api/cache.d.ts.map +1 -0
  145. package/dist/src/api/cache.js +264 -0
  146. package/dist/src/api/cache.js.map +1 -0
  147. package/dist/src/api/client.d.ts +286 -0
  148. package/dist/src/api/client.d.ts.map +1 -0
  149. package/dist/src/api/client.js +422 -0
  150. package/dist/src/api/client.js.map +1 -0
  151. package/dist/src/api/index.d.ts +12 -0
  152. package/dist/src/api/index.d.ts.map +1 -0
  153. package/dist/src/api/index.js +17 -0
  154. package/dist/src/api/index.js.map +1 -0
  155. package/dist/src/api/types.d.ts +251 -0
  156. package/dist/src/api/types.d.ts.map +1 -0
  157. package/dist/src/api/types.js +9 -0
  158. package/dist/src/api/types.js.map +1 -0
  159. package/dist/src/benchmarks/BenchmarkRunner.d.ts +6 -175
  160. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  161. package/dist/src/benchmarks/BenchmarkRunner.js +6 -123
  162. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  163. package/dist/src/benchmarks/MemoryProfiler.d.ts +4 -262
  164. package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -1
  165. package/dist/src/benchmarks/MemoryProfiler.js +4 -400
  166. package/dist/src/benchmarks/MemoryProfiler.js.map +1 -1
  167. package/dist/src/benchmarks/comparator.d.ts +38 -0
  168. package/dist/src/benchmarks/comparator.d.ts.map +1 -0
  169. package/dist/src/benchmarks/comparator.js +81 -0
  170. package/dist/src/benchmarks/comparator.js.map +1 -0
  171. package/dist/src/benchmarks/formatters.d.ts +30 -0
  172. package/dist/src/benchmarks/formatters.d.ts.map +1 -0
  173. package/dist/src/benchmarks/formatters.js +88 -0
  174. package/dist/src/benchmarks/formatters.js.map +1 -0
  175. package/dist/src/benchmarks/index.d.ts +5 -1
  176. package/dist/src/benchmarks/index.d.ts.map +1 -1
  177. package/dist/src/benchmarks/index.js +9 -2
  178. package/dist/src/benchmarks/index.js.map +1 -1
  179. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts +165 -0
  180. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -0
  181. package/dist/src/benchmarks/memory/MemoryProfiler.js +312 -0
  182. package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -0
  183. package/dist/src/benchmarks/memory/baseline-manager.d.ts +64 -0
  184. package/dist/src/benchmarks/memory/baseline-manager.d.ts.map +1 -0
  185. package/dist/src/benchmarks/memory/baseline-manager.js +95 -0
  186. package/dist/src/benchmarks/memory/baseline-manager.js.map +1 -0
  187. package/dist/src/benchmarks/memory/index.d.ts +12 -0
  188. package/dist/src/benchmarks/memory/index.d.ts.map +1 -0
  189. package/dist/src/benchmarks/memory/index.js +12 -0
  190. package/dist/src/benchmarks/memory/index.js.map +1 -0
  191. package/dist/src/benchmarks/memory/leak-detector.d.ts +23 -0
  192. package/dist/src/benchmarks/memory/leak-detector.d.ts.map +1 -0
  193. package/dist/src/benchmarks/memory/leak-detector.js +46 -0
  194. package/dist/src/benchmarks/memory/leak-detector.js.map +1 -0
  195. package/dist/src/benchmarks/memory/regression-detector.d.ts +17 -0
  196. package/dist/src/benchmarks/memory/regression-detector.d.ts.map +1 -0
  197. package/dist/src/benchmarks/memory/regression-detector.js +56 -0
  198. package/dist/src/benchmarks/memory/regression-detector.js.map +1 -0
  199. package/dist/src/benchmarks/memory/types.d.ts +111 -0
  200. package/dist/src/benchmarks/memory/types.d.ts.map +1 -0
  201. package/dist/src/benchmarks/memory/types.js +7 -0
  202. package/dist/src/benchmarks/memory/types.js.map +1 -0
  203. package/dist/src/benchmarks/memory/utils.d.ts +17 -0
  204. package/dist/src/benchmarks/memory/utils.d.ts.map +1 -0
  205. package/dist/src/benchmarks/memory/utils.js +29 -0
  206. package/dist/src/benchmarks/memory/utils.js.map +1 -0
  207. package/dist/src/benchmarks/types.d.ts +175 -0
  208. package/dist/src/benchmarks/types.d.ts.map +1 -0
  209. package/dist/src/benchmarks/types.js +20 -0
  210. package/dist/src/benchmarks/types.js.map +1 -0
  211. package/dist/src/billing/BillingService.d.ts +139 -0
  212. package/dist/src/billing/BillingService.d.ts.map +1 -0
  213. package/dist/src/billing/BillingService.js +393 -0
  214. package/dist/src/billing/BillingService.js.map +1 -0
  215. package/dist/src/billing/GDPRComplianceService.d.ts +176 -0
  216. package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -0
  217. package/dist/src/billing/GDPRComplianceService.js +361 -0
  218. package/dist/src/billing/GDPRComplianceService.js.map +1 -0
  219. package/dist/src/billing/StripeClient.d.ts +177 -0
  220. package/dist/src/billing/StripeClient.d.ts.map +1 -0
  221. package/dist/src/billing/StripeClient.js +462 -0
  222. package/dist/src/billing/StripeClient.js.map +1 -0
  223. package/dist/src/billing/StripeReconciliationJob.d.ts +95 -0
  224. package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -0
  225. package/dist/src/billing/StripeReconciliationJob.js +405 -0
  226. package/dist/src/billing/StripeReconciliationJob.js.map +1 -0
  227. package/dist/src/billing/StripeWebhookHandler.d.ts +92 -0
  228. package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -0
  229. package/dist/src/billing/StripeWebhookHandler.js +409 -0
  230. package/dist/src/billing/StripeWebhookHandler.js.map +1 -0
  231. package/dist/src/billing/index.d.ts +18 -0
  232. package/dist/src/billing/index.d.ts.map +1 -0
  233. package/dist/src/billing/index.js +19 -0
  234. package/dist/src/billing/index.js.map +1 -0
  235. package/dist/src/billing/types.d.ts +266 -0
  236. package/dist/src/billing/types.d.ts.map +1 -0
  237. package/dist/src/billing/types.js +23 -0
  238. package/dist/src/billing/types.js.map +1 -0
  239. package/dist/src/db/schema.d.ts +1 -1
  240. package/dist/src/db/schema.d.ts.map +1 -1
  241. package/dist/src/db/schema.js +41 -1
  242. package/dist/src/db/schema.js.map +1 -1
  243. package/dist/src/embeddings/hnsw-store.d.ts +568 -0
  244. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -0
  245. package/dist/src/embeddings/hnsw-store.js +805 -0
  246. package/dist/src/embeddings/hnsw-store.js.map +1 -0
  247. package/dist/src/embeddings/index.d.ts +2 -0
  248. package/dist/src/embeddings/index.d.ts.map +1 -1
  249. package/dist/src/embeddings/index.js +2 -0
  250. package/dist/src/embeddings/index.js.map +1 -1
  251. package/dist/src/errors.d.ts +1 -0
  252. package/dist/src/errors.d.ts.map +1 -1
  253. package/dist/src/errors.js +1 -0
  254. package/dist/src/errors.js.map +1 -1
  255. package/dist/src/index.d.ts +7 -3
  256. package/dist/src/index.d.ts.map +1 -1
  257. package/dist/src/index.js +12 -4
  258. package/dist/src/index.js.map +1 -1
  259. package/dist/src/learning/PatternStore.d.ts +457 -0
  260. package/dist/src/learning/PatternStore.d.ts.map +1 -0
  261. package/dist/src/learning/PatternStore.js +893 -0
  262. package/dist/src/learning/PatternStore.js.map +1 -0
  263. package/dist/src/learning/ReasoningBankIntegration.d.ts +403 -0
  264. package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -0
  265. package/dist/src/learning/ReasoningBankIntegration.js +627 -0
  266. package/dist/src/learning/ReasoningBankIntegration.js.map +1 -0
  267. package/dist/src/learning/index.d.ts +15 -0
  268. package/dist/src/learning/index.d.ts.map +1 -0
  269. package/dist/src/learning/index.js +15 -0
  270. package/dist/src/learning/index.js.map +1 -0
  271. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  272. package/dist/src/repositories/IndexerRepository.js +1 -0
  273. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  274. package/dist/src/repositories/QuarantineRepository.d.ts +4 -251
  275. package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -1
  276. package/dist/src/repositories/QuarantineRepository.js +4 -441
  277. package/dist/src/repositories/QuarantineRepository.js.map +1 -1
  278. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  279. package/dist/src/repositories/SkillRepository.js +1 -0
  280. package/dist/src/repositories/SkillRepository.js.map +1 -1
  281. package/dist/src/repositories/SyncConfigRepository.d.ts +91 -0
  282. package/dist/src/repositories/SyncConfigRepository.d.ts.map +1 -0
  283. package/dist/src/repositories/SyncConfigRepository.js +202 -0
  284. package/dist/src/repositories/SyncConfigRepository.js.map +1 -0
  285. package/dist/src/repositories/SyncHistoryRepository.d.ts +104 -0
  286. package/dist/src/repositories/SyncHistoryRepository.d.ts.map +1 -0
  287. package/dist/src/repositories/SyncHistoryRepository.js +235 -0
  288. package/dist/src/repositories/SyncHistoryRepository.js.map +1 -0
  289. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +168 -0
  290. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -0
  291. package/dist/src/repositories/quarantine/QuarantineRepository.js +341 -0
  292. package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -0
  293. package/dist/src/repositories/quarantine/index.d.ts +10 -0
  294. package/dist/src/repositories/quarantine/index.d.ts.map +1 -0
  295. package/dist/src/repositories/quarantine/index.js +10 -0
  296. package/dist/src/repositories/quarantine/index.js.map +1 -0
  297. package/dist/src/repositories/quarantine/queries.d.ts +58 -0
  298. package/dist/src/repositories/quarantine/queries.d.ts.map +1 -0
  299. package/dist/src/repositories/quarantine/queries.js +88 -0
  300. package/dist/src/repositories/quarantine/queries.js.map +1 -0
  301. package/dist/src/repositories/quarantine/query-builder.d.ts +44 -0
  302. package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -0
  303. package/dist/src/repositories/quarantine/query-builder.js +87 -0
  304. package/dist/src/repositories/quarantine/query-builder.js.map +1 -0
  305. package/dist/src/repositories/quarantine/types.d.ts +155 -0
  306. package/dist/src/repositories/quarantine/types.d.ts.map +1 -0
  307. package/dist/src/repositories/quarantine/types.js +13 -0
  308. package/dist/src/repositories/quarantine/types.js.map +1 -0
  309. package/dist/src/routing/SONARouter.d.ts +154 -0
  310. package/dist/src/routing/SONARouter.d.ts.map +1 -0
  311. package/dist/src/routing/SONARouter.js +679 -0
  312. package/dist/src/routing/SONARouter.js.map +1 -0
  313. package/dist/src/routing/index.d.ts +9 -0
  314. package/dist/src/routing/index.d.ts.map +1 -0
  315. package/dist/src/routing/index.js +10 -0
  316. package/dist/src/routing/index.js.map +1 -0
  317. package/dist/src/routing/types.d.ts +331 -0
  318. package/dist/src/routing/types.d.ts.map +1 -0
  319. package/dist/src/routing/types.js +203 -0
  320. package/dist/src/routing/types.js.map +1 -0
  321. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +1 -0
  322. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -1
  323. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +12 -43
  324. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  325. package/dist/src/scripts/github-import/checkpoint.d.ts +21 -0
  326. package/dist/src/scripts/github-import/checkpoint.d.ts.map +1 -0
  327. package/dist/src/scripts/github-import/checkpoint.js +52 -0
  328. package/dist/src/scripts/github-import/checkpoint.js.map +1 -0
  329. package/dist/src/scripts/github-import/deduplication.d.ts +15 -0
  330. package/dist/src/scripts/github-import/deduplication.d.ts.map +1 -0
  331. package/dist/src/scripts/github-import/deduplication.js +33 -0
  332. package/dist/src/scripts/github-import/deduplication.js.map +1 -0
  333. package/dist/src/scripts/github-import/github-client.d.ts +57 -0
  334. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -0
  335. package/dist/src/scripts/github-import/github-client.js +473 -0
  336. package/dist/src/scripts/github-import/github-client.js.map +1 -0
  337. package/dist/src/scripts/github-import/index.d.ts +29 -0
  338. package/dist/src/scripts/github-import/index.d.ts.map +1 -0
  339. package/dist/src/scripts/github-import/index.js +191 -0
  340. package/dist/src/scripts/github-import/index.js.map +1 -0
  341. package/dist/src/scripts/github-import/output.d.ts +12 -0
  342. package/dist/src/scripts/github-import/output.d.ts.map +1 -0
  343. package/dist/src/scripts/github-import/output.js +34 -0
  344. package/dist/src/scripts/github-import/output.js.map +1 -0
  345. package/dist/src/scripts/github-import/types.d.ts +114 -0
  346. package/dist/src/scripts/github-import/types.d.ts.map +1 -0
  347. package/dist/src/scripts/github-import/types.js +47 -0
  348. package/dist/src/scripts/github-import/types.js.map +1 -0
  349. package/dist/src/scripts/github-import/utils.d.ts +13 -0
  350. package/dist/src/scripts/github-import/utils.d.ts.map +1 -0
  351. package/dist/src/scripts/github-import/utils.js +28 -0
  352. package/dist/src/scripts/github-import/utils.js.map +1 -0
  353. package/dist/src/scripts/import-github-skills.d.ts +3 -12
  354. package/dist/src/scripts/import-github-skills.d.ts.map +1 -1
  355. package/dist/src/scripts/import-github-skills.js +27 -402
  356. package/dist/src/scripts/import-github-skills.js.map +1 -1
  357. package/dist/src/scripts/merge-skills.d.ts +56 -0
  358. package/dist/src/scripts/merge-skills.d.ts.map +1 -0
  359. package/dist/src/scripts/merge-skills.js +411 -0
  360. package/dist/src/scripts/merge-skills.js.map +1 -0
  361. package/dist/src/scripts/scan-imported-skills.d.ts +7 -7
  362. package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
  363. package/dist/src/scripts/scan-imported-skills.js +8 -397
  364. package/dist/src/scripts/scan-imported-skills.js.map +1 -1
  365. package/dist/src/scripts/skill-scanner/categorizer.d.ts +43 -0
  366. package/dist/src/scripts/skill-scanner/categorizer.d.ts.map +1 -0
  367. package/dist/src/scripts/skill-scanner/categorizer.js +61 -0
  368. package/dist/src/scripts/skill-scanner/categorizer.js.map +1 -0
  369. package/dist/src/scripts/skill-scanner/file-scanner.d.ts +43 -0
  370. package/dist/src/scripts/skill-scanner/file-scanner.d.ts.map +1 -0
  371. package/dist/src/scripts/skill-scanner/file-scanner.js +90 -0
  372. package/dist/src/scripts/skill-scanner/file-scanner.js.map +1 -0
  373. package/dist/src/scripts/skill-scanner/index.d.ts +29 -0
  374. package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -0
  375. package/dist/src/scripts/skill-scanner/index.js +134 -0
  376. package/dist/src/scripts/skill-scanner/index.js.map +1 -0
  377. package/dist/src/scripts/skill-scanner/logger.d.ts +110 -0
  378. package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -0
  379. package/dist/src/scripts/skill-scanner/logger.js +358 -0
  380. package/dist/src/scripts/skill-scanner/logger.js.map +1 -0
  381. package/dist/src/scripts/skill-scanner/reporter.d.ts +56 -0
  382. package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -0
  383. package/dist/src/scripts/skill-scanner/reporter.js +218 -0
  384. package/dist/src/scripts/skill-scanner/reporter.js.map +1 -0
  385. package/dist/src/scripts/skill-scanner/scanner.d.ts +47 -0
  386. package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -0
  387. package/dist/src/scripts/skill-scanner/scanner.js +257 -0
  388. package/dist/src/scripts/skill-scanner/scanner.js.map +1 -0
  389. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +59 -0
  390. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -0
  391. package/dist/src/scripts/skill-scanner/trust-scorer.js +62 -0
  392. package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -0
  393. package/dist/src/scripts/skill-scanner/types.d.ts +142 -0
  394. package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -0
  395. package/dist/src/scripts/skill-scanner/types.js +7 -0
  396. package/dist/src/scripts/skill-scanner/types.js.map +1 -0
  397. package/dist/src/scripts/validate-skills.d.ts +3 -172
  398. package/dist/src/scripts/validate-skills.d.ts.map +1 -1
  399. package/dist/src/scripts/validate-skills.js +6 -519
  400. package/dist/src/scripts/validate-skills.js.map +1 -1
  401. package/dist/src/scripts/validation/deduplication.d.ts +23 -0
  402. package/dist/src/scripts/validation/deduplication.d.ts.map +1 -0
  403. package/dist/src/scripts/validation/deduplication.js +127 -0
  404. package/dist/src/scripts/validation/deduplication.js.map +1 -0
  405. package/dist/src/scripts/validation/field-validators.d.ts +9 -0
  406. package/dist/src/scripts/validation/field-validators.d.ts.map +1 -0
  407. package/dist/src/scripts/validation/field-validators.js +135 -0
  408. package/dist/src/scripts/validation/field-validators.js.map +1 -0
  409. package/dist/src/scripts/validation/index.d.ts +29 -0
  410. package/dist/src/scripts/validation/index.d.ts.map +1 -0
  411. package/dist/src/scripts/validation/index.js +83 -0
  412. package/dist/src/scripts/validation/index.js.map +1 -0
  413. package/dist/src/scripts/validation/normalizers.d.ts +29 -0
  414. package/dist/src/scripts/validation/normalizers.d.ts.map +1 -0
  415. package/dist/src/scripts/validation/normalizers.js +79 -0
  416. package/dist/src/scripts/validation/normalizers.js.map +1 -0
  417. package/dist/src/scripts/validation/pipeline.d.ts +13 -0
  418. package/dist/src/scripts/validation/pipeline.d.ts.map +1 -0
  419. package/dist/src/scripts/validation/pipeline.js +126 -0
  420. package/dist/src/scripts/validation/pipeline.js.map +1 -0
  421. package/dist/src/scripts/validation/types.d.ts +128 -0
  422. package/dist/src/scripts/validation/types.d.ts.map +1 -0
  423. package/dist/src/scripts/validation/types.js +43 -0
  424. package/dist/src/scripts/validation/types.js.map +1 -0
  425. package/dist/src/security/SkillSandbox.d.ts +156 -0
  426. package/dist/src/security/SkillSandbox.d.ts.map +1 -0
  427. package/dist/src/security/SkillSandbox.js +303 -0
  428. package/dist/src/security/SkillSandbox.js.map +1 -0
  429. package/dist/src/security/index.d.ts +8 -5
  430. package/dist/src/security/index.d.ts.map +1 -1
  431. package/dist/src/security/index.js +13 -3
  432. package/dist/src/security/index.js.map +1 -1
  433. package/dist/src/security/rate-limiter/RateLimiter.d.ts +86 -0
  434. package/dist/src/security/rate-limiter/RateLimiter.d.ts.map +1 -0
  435. package/dist/src/security/rate-limiter/RateLimiter.js +260 -0
  436. package/dist/src/security/rate-limiter/RateLimiter.js.map +1 -0
  437. package/dist/src/security/rate-limiter/constants.d.ts +15 -0
  438. package/dist/src/security/rate-limiter/constants.d.ts.map +1 -0
  439. package/dist/src/security/rate-limiter/constants.js +15 -0
  440. package/dist/src/security/rate-limiter/constants.js.map +1 -0
  441. package/dist/src/security/rate-limiter/errors.d.ts +22 -0
  442. package/dist/src/security/rate-limiter/errors.d.ts.map +1 -0
  443. package/dist/src/security/rate-limiter/errors.js +32 -0
  444. package/dist/src/security/rate-limiter/errors.js.map +1 -0
  445. package/dist/src/security/rate-limiter/index.d.ts +12 -0
  446. package/dist/src/security/rate-limiter/index.d.ts.map +1 -0
  447. package/dist/src/security/rate-limiter/index.js +16 -0
  448. package/dist/src/security/rate-limiter/index.js.map +1 -0
  449. package/dist/src/security/rate-limiter/metrics-manager.d.ts +55 -0
  450. package/dist/src/security/rate-limiter/metrics-manager.d.ts.map +1 -0
  451. package/dist/src/security/rate-limiter/metrics-manager.js +144 -0
  452. package/dist/src/security/rate-limiter/metrics-manager.js.map +1 -0
  453. package/dist/src/security/rate-limiter/presets.d.ts +64 -0
  454. package/dist/src/security/rate-limiter/presets.d.ts.map +1 -0
  455. package/dist/src/security/rate-limiter/presets.js +65 -0
  456. package/dist/src/security/rate-limiter/presets.js.map +1 -0
  457. package/dist/src/security/rate-limiter/queue-manager.d.ts +59 -0
  458. package/dist/src/security/rate-limiter/queue-manager.d.ts.map +1 -0
  459. package/dist/src/security/rate-limiter/queue-manager.js +189 -0
  460. package/dist/src/security/rate-limiter/queue-manager.js.map +1 -0
  461. package/dist/src/security/rate-limiter/storage.d.ts +34 -0
  462. package/dist/src/security/rate-limiter/storage.d.ts.map +1 -0
  463. package/dist/src/security/rate-limiter/storage.js +80 -0
  464. package/dist/src/security/rate-limiter/storage.js.map +1 -0
  465. package/dist/src/security/rate-limiter/token-bucket.d.ts +44 -0
  466. package/dist/src/security/rate-limiter/token-bucket.d.ts.map +1 -0
  467. package/dist/src/security/rate-limiter/token-bucket.js +99 -0
  468. package/dist/src/security/rate-limiter/token-bucket.js.map +1 -0
  469. package/dist/src/security/rate-limiter/types.d.ts +104 -0
  470. package/dist/src/security/rate-limiter/types.d.ts.map +1 -0
  471. package/dist/src/security/rate-limiter/types.js +7 -0
  472. package/dist/src/security/rate-limiter/types.js.map +1 -0
  473. package/dist/src/security/sanitization.d.ts +85 -0
  474. package/dist/src/security/sanitization.d.ts.map +1 -1
  475. package/dist/src/security/sanitization.js +133 -0
  476. package/dist/src/security/sanitization.js.map +1 -1
  477. package/dist/src/security/{scanner.d.ts → scanner/SecurityScanner.d.ts} +28 -62
  478. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -0
  479. package/dist/src/security/{scanner.js → scanner/SecurityScanner.js} +230 -222
  480. package/dist/src/security/scanner/SecurityScanner.js.map +1 -0
  481. package/dist/src/security/scanner/index.d.ts +11 -0
  482. package/dist/src/security/scanner/index.d.ts.map +1 -0
  483. package/dist/src/security/scanner/index.js +14 -0
  484. package/dist/src/security/scanner/index.js.map +1 -0
  485. package/dist/src/security/scanner/patterns.d.ts +27 -0
  486. package/dist/src/security/scanner/patterns.d.ts.map +1 -0
  487. package/dist/src/security/scanner/patterns.js +198 -0
  488. package/dist/src/security/scanner/patterns.js.map +1 -0
  489. package/dist/src/security/scanner/regex-utils.d.ts +33 -0
  490. package/dist/src/security/scanner/regex-utils.d.ts.map +1 -0
  491. package/dist/src/security/scanner/regex-utils.js +41 -0
  492. package/dist/src/security/scanner/regex-utils.js.map +1 -0
  493. package/dist/src/security/scanner/types.d.ts +75 -0
  494. package/dist/src/security/scanner/types.d.ts.map +1 -0
  495. package/dist/src/security/scanner/types.js +7 -0
  496. package/dist/src/security/scanner/types.js.map +1 -0
  497. package/dist/src/security/scanner/weights.d.ts +15 -0
  498. package/dist/src/security/scanner/weights.d.ts.map +1 -0
  499. package/dist/src/security/scanner/weights.js +29 -0
  500. package/dist/src/security/scanner/weights.js.map +1 -0
  501. package/dist/src/services/SearchService.d.ts.map +1 -1
  502. package/dist/src/services/SearchService.js +1 -0
  503. package/dist/src/services/SearchService.js.map +1 -1
  504. package/dist/src/session/SessionHealthMonitor.d.ts +5 -168
  505. package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
  506. package/dist/src/session/SessionHealthMonitor.js +22 -91
  507. package/dist/src/session/SessionHealthMonitor.js.map +1 -1
  508. package/dist/src/session/SessionManager.d.ts +7 -0
  509. package/dist/src/session/SessionManager.d.ts.map +1 -1
  510. package/dist/src/session/SessionManager.js +117 -10
  511. package/dist/src/session/SessionManager.js.map +1 -1
  512. package/dist/src/session/health-checks.d.ts +37 -0
  513. package/dist/src/session/health-checks.d.ts.map +1 -0
  514. package/dist/src/session/health-checks.js +64 -0
  515. package/dist/src/session/health-checks.js.map +1 -0
  516. package/dist/src/session/health-types.d.ts +78 -0
  517. package/dist/src/session/health-types.d.ts.map +1 -0
  518. package/dist/src/session/health-types.js +16 -0
  519. package/dist/src/session/health-types.js.map +1 -0
  520. package/dist/src/session/index.d.ts +5 -1
  521. package/dist/src/session/index.d.ts.map +1 -1
  522. package/dist/src/session/index.js +9 -0
  523. package/dist/src/session/index.js.map +1 -1
  524. package/dist/src/session/metrics-collector.d.ts +23 -0
  525. package/dist/src/session/metrics-collector.d.ts.map +1 -0
  526. package/dist/src/session/metrics-collector.js +44 -0
  527. package/dist/src/session/metrics-collector.js.map +1 -0
  528. package/dist/src/session/typed-event-emitter.d.ts +70 -0
  529. package/dist/src/session/typed-event-emitter.d.ts.map +1 -0
  530. package/dist/src/session/typed-event-emitter.js +79 -0
  531. package/dist/src/session/typed-event-emitter.js.map +1 -0
  532. package/dist/src/sources/BaseSourceAdapter.d.ts +1 -1
  533. package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -1
  534. package/dist/src/sources/BaseSourceAdapter.js +2 -2
  535. package/dist/src/sources/BaseSourceAdapter.js.map +1 -1
  536. package/dist/src/sync/BackgroundSyncService.d.ts +90 -0
  537. package/dist/src/sync/BackgroundSyncService.d.ts.map +1 -0
  538. package/dist/src/sync/BackgroundSyncService.js +214 -0
  539. package/dist/src/sync/BackgroundSyncService.js.map +1 -0
  540. package/dist/src/sync/SyncEngine.d.ts +76 -0
  541. package/dist/src/sync/SyncEngine.d.ts.map +1 -0
  542. package/dist/src/sync/SyncEngine.js +292 -0
  543. package/dist/src/sync/SyncEngine.js.map +1 -0
  544. package/dist/src/sync/index.d.ts +11 -0
  545. package/dist/src/sync/index.d.ts.map +1 -0
  546. package/dist/src/sync/index.js +14 -0
  547. package/dist/src/sync/index.js.map +1 -0
  548. package/dist/src/telemetry/index.d.ts +1 -0
  549. package/dist/src/telemetry/index.d.ts.map +1 -1
  550. package/dist/src/telemetry/index.js +2 -0
  551. package/dist/src/telemetry/index.js.map +1 -1
  552. package/dist/src/telemetry/posthog.d.ts +147 -0
  553. package/dist/src/telemetry/posthog.d.ts.map +1 -0
  554. package/dist/src/telemetry/posthog.js +213 -0
  555. package/dist/src/telemetry/posthog.js.map +1 -0
  556. package/dist/src/testing/MultiLLMProvider.d.ts +374 -0
  557. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -0
  558. package/dist/src/testing/MultiLLMProvider.js +720 -0
  559. package/dist/src/testing/MultiLLMProvider.js.map +1 -0
  560. package/dist/src/testing/index.d.ts +8 -0
  561. package/dist/src/testing/index.d.ts.map +1 -0
  562. package/dist/src/testing/index.js +9 -0
  563. package/dist/src/testing/index.js.map +1 -0
  564. package/dist/src/types/skill.d.ts +3 -0
  565. package/dist/src/types/skill.d.ts.map +1 -1
  566. package/dist/src/types.d.ts +5 -1
  567. package/dist/src/types.d.ts.map +1 -1
  568. package/dist/src/types.js +2 -2
  569. package/dist/src/types.js.map +1 -1
  570. package/dist/tests/RateLimiter.test.js +4 -4
  571. package/dist/tests/RateLimiter.test.js.map +1 -1
  572. package/dist/tests/SecurityScanner.test.js +337 -1
  573. package/dist/tests/SecurityScanner.test.js.map +1 -1
  574. package/dist/tests/adapters-factory.test.d.ts +13 -0
  575. package/dist/tests/adapters-factory.test.d.ts.map +1 -0
  576. package/dist/tests/adapters-factory.test.js +308 -0
  577. package/dist/tests/adapters-factory.test.js.map +1 -0
  578. package/dist/tests/adapters-java.test.d.ts +13 -0
  579. package/dist/tests/adapters-java.test.d.ts.map +1 -0
  580. package/dist/tests/adapters-java.test.js +925 -0
  581. package/dist/tests/adapters-java.test.js.map +1 -0
  582. package/dist/tests/api/client.validation.test.d.ts +7 -0
  583. package/dist/tests/api/client.validation.test.d.ts.map +1 -0
  584. package/dist/tests/api/client.validation.test.js +183 -0
  585. package/dist/tests/api/client.validation.test.js.map +1 -0
  586. package/dist/tests/billing/BillingService.test.d.ts +7 -0
  587. package/dist/tests/billing/BillingService.test.d.ts.map +1 -0
  588. package/dist/tests/billing/BillingService.test.js +168 -0
  589. package/dist/tests/billing/BillingService.test.js.map +1 -0
  590. package/dist/tests/billing/GDPRCompliance.test.d.ts +7 -0
  591. package/dist/tests/billing/GDPRCompliance.test.d.ts.map +1 -0
  592. package/dist/tests/billing/GDPRCompliance.test.js +195 -0
  593. package/dist/tests/billing/GDPRCompliance.test.js.map +1 -0
  594. package/dist/tests/billing/StripeReconciliation.test.d.ts +7 -0
  595. package/dist/tests/billing/StripeReconciliation.test.d.ts.map +1 -0
  596. package/dist/tests/billing/StripeReconciliation.test.js +266 -0
  597. package/dist/tests/billing/StripeReconciliation.test.js.map +1 -0
  598. package/dist/tests/billing/stripe-validators.test.d.ts +7 -0
  599. package/dist/tests/billing/stripe-validators.test.d.ts.map +1 -0
  600. package/dist/tests/billing/stripe-validators.test.js +107 -0
  601. package/dist/tests/billing/stripe-validators.test.js.map +1 -0
  602. package/dist/tests/e2e/security/security.e2e.test.js +3 -3
  603. package/dist/tests/e2e/security/security.e2e.test.js.map +1 -1
  604. package/dist/tests/embeddings/hnsw-store.test.d.ts +7 -0
  605. package/dist/tests/embeddings/hnsw-store.test.d.ts.map +1 -0
  606. package/dist/tests/embeddings/hnsw-store.test.js +295 -0
  607. package/dist/tests/embeddings/hnsw-store.test.js.map +1 -0
  608. package/dist/tests/integration/neural/e2e-learning.test.d.ts +17 -0
  609. package/dist/tests/integration/neural/e2e-learning.test.d.ts.map +1 -0
  610. package/dist/tests/integration/neural/e2e-learning.test.js +238 -0
  611. package/dist/tests/integration/neural/e2e-learning.test.js.map +1 -0
  612. package/dist/tests/integration/neural/helpers.d.ts +132 -0
  613. package/dist/tests/integration/neural/helpers.d.ts.map +1 -0
  614. package/dist/tests/integration/neural/helpers.js +287 -0
  615. package/dist/tests/integration/neural/helpers.js.map +1 -0
  616. package/dist/tests/integration/neural/personalization.test.d.ts +21 -0
  617. package/dist/tests/integration/neural/personalization.test.d.ts.map +1 -0
  618. package/dist/tests/integration/neural/personalization.test.js +304 -0
  619. package/dist/tests/integration/neural/personalization.test.js.map +1 -0
  620. package/dist/tests/integration/neural/preference-learner.test.d.ts +23 -0
  621. package/dist/tests/integration/neural/preference-learner.test.d.ts.map +1 -0
  622. package/dist/tests/integration/neural/preference-learner.test.js +289 -0
  623. package/dist/tests/integration/neural/preference-learner.test.js.map +1 -0
  624. package/dist/tests/integration/neural/privacy.test.d.ts +19 -0
  625. package/dist/tests/integration/neural/privacy.test.d.ts.map +1 -0
  626. package/dist/tests/integration/neural/privacy.test.js +249 -0
  627. package/dist/tests/integration/neural/privacy.test.js.map +1 -0
  628. package/dist/tests/integration/neural/setup.d.ts +175 -0
  629. package/dist/tests/integration/neural/setup.d.ts.map +1 -0
  630. package/dist/tests/integration/neural/setup.js +487 -0
  631. package/dist/tests/integration/neural/setup.js.map +1 -0
  632. package/dist/tests/integration/neural/signal-collection.test.d.ts +21 -0
  633. package/dist/tests/integration/neural/signal-collection.test.d.ts.map +1 -0
  634. package/dist/tests/integration/neural/signal-collection.test.js +232 -0
  635. package/dist/tests/integration/neural/signal-collection.test.js.map +1 -0
  636. package/dist/tests/language-detector.test.d.ts +13 -0
  637. package/dist/tests/language-detector.test.d.ts.map +1 -0
  638. package/dist/tests/language-detector.test.js +674 -0
  639. package/dist/tests/language-detector.test.js.map +1 -0
  640. package/dist/tests/learning/PatternStore.test.d.ts +8 -0
  641. package/dist/tests/learning/PatternStore.test.d.ts.map +1 -0
  642. package/dist/tests/learning/PatternStore.test.js +589 -0
  643. package/dist/tests/learning/PatternStore.test.js.map +1 -0
  644. package/dist/tests/learning/ReasoningBankIntegration.test.d.ts +8 -0
  645. package/dist/tests/learning/ReasoningBankIntegration.test.d.ts.map +1 -0
  646. package/dist/tests/learning/ReasoningBankIntegration.test.js +269 -0
  647. package/dist/tests/learning/ReasoningBankIntegration.test.js.map +1 -0
  648. package/dist/tests/routing/SONARouter.test.d.ts +8 -0
  649. package/dist/tests/routing/SONARouter.test.d.ts.map +1 -0
  650. package/dist/tests/routing/SONARouter.test.js +400 -0
  651. package/dist/tests/routing/SONARouter.test.js.map +1 -0
  652. package/dist/tests/security/ContinuousSecurity.test.js +10 -12
  653. package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
  654. package/dist/tests/security/SkillSandbox.test.d.ts +8 -0
  655. package/dist/tests/security/SkillSandbox.test.d.ts.map +1 -0
  656. package/dist/tests/security/SkillSandbox.test.js +321 -0
  657. package/dist/tests/security/SkillSandbox.test.js.map +1 -0
  658. package/dist/tests/sync/SyncConfigRepository.test.d.ts +7 -0
  659. package/dist/tests/sync/SyncConfigRepository.test.d.ts.map +1 -0
  660. package/dist/tests/sync/SyncConfigRepository.test.js +154 -0
  661. package/dist/tests/sync/SyncConfigRepository.test.js.map +1 -0
  662. package/dist/tests/sync/SyncEngine.test.d.ts +7 -0
  663. package/dist/tests/sync/SyncEngine.test.d.ts.map +1 -0
  664. package/dist/tests/sync/SyncEngine.test.js +300 -0
  665. package/dist/tests/sync/SyncEngine.test.js.map +1 -0
  666. package/dist/tests/sync/SyncHistoryRepository.test.d.ts +7 -0
  667. package/dist/tests/sync/SyncHistoryRepository.test.d.ts.map +1 -0
  668. package/dist/tests/sync/SyncHistoryRepository.test.js +220 -0
  669. package/dist/tests/sync/SyncHistoryRepository.test.js.map +1 -0
  670. package/dist/tests/telemetry/posthog.test.d.ts +13 -0
  671. package/dist/tests/telemetry/posthog.test.d.ts.map +1 -0
  672. package/dist/tests/telemetry/posthog.test.js +600 -0
  673. package/dist/tests/telemetry/posthog.test.js.map +1 -0
  674. package/dist/tests/testing/MultiLLMProvider.test.d.ts +14 -0
  675. package/dist/tests/testing/MultiLLMProvider.test.d.ts.map +1 -0
  676. package/dist/tests/testing/MultiLLMProvider.test.js +438 -0
  677. package/dist/tests/testing/MultiLLMProvider.test.js.map +1 -0
  678. package/package.json +20 -5
  679. package/dist/src/security/RateLimiter.d.ts +0 -337
  680. package/dist/src/security/RateLimiter.d.ts.map +0 -1
  681. package/dist/src/security/RateLimiter.js +0 -782
  682. package/dist/src/security/RateLimiter.js.map +0 -1
  683. package/dist/src/security/scanner.d.ts.map +0 -1
  684. package/dist/src/security/scanner.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-bucket.js","sourceRoot":"","sources":["../../../../src/security/rate-limiter/token-bucket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Rate Limiter Types - SMI-730, SMI-1013, SMI-1189
3
+ *
4
+ * Type definitions for rate limiting functionality.
5
+ */
6
+ /**
7
+ * Rate limit metrics for monitoring and alerting
8
+ */
9
+ export interface RateLimitMetrics {
10
+ /** Number of allowed requests */
11
+ allowed: number;
12
+ /** Number of blocked requests */
13
+ blocked: number;
14
+ /** Number of errors (storage failures, etc.) */
15
+ errors: number;
16
+ /** Last time metrics were reset */
17
+ lastReset: Date;
18
+ /** Last time metrics were updated */
19
+ lastUpdated: Date;
20
+ }
21
+ /**
22
+ * Rate limit configuration
23
+ */
24
+ export interface RateLimitConfig {
25
+ /** Maximum tokens in bucket (burst capacity) */
26
+ maxTokens: number;
27
+ /** Tokens refilled per second */
28
+ refillRate: number;
29
+ /** Window duration in milliseconds (for cleanup) */
30
+ windowMs: number;
31
+ /** Key prefix for storage */
32
+ keyPrefix?: string;
33
+ /** Enable debug logging */
34
+ debug?: boolean;
35
+ /** Callback when rate limit is exceeded */
36
+ onLimitExceeded?: (key: string, metrics: RateLimitMetrics) => void;
37
+ /** Fail mode on storage errors: 'open' allows requests, 'closed' denies them (default: 'open') */
38
+ failMode?: 'open' | 'closed';
39
+ /** Enable request queuing when rate limited (SMI-1013, default: false) */
40
+ enableQueue?: boolean;
41
+ /** Maximum time to wait in queue in milliseconds (SMI-1013, default: 30000) */
42
+ queueTimeoutMs?: number;
43
+ /** Maximum number of requests that can wait in queue (SMI-1013, default: 100) */
44
+ maxQueueSize?: number;
45
+ }
46
+ /**
47
+ * Token bucket state
48
+ */
49
+ export interface TokenBucket {
50
+ /** Current number of tokens */
51
+ tokens: number;
52
+ /** Last refill timestamp */
53
+ lastRefill: number;
54
+ /** First request timestamp (for window tracking) */
55
+ firstRequest: number;
56
+ }
57
+ /**
58
+ * Rate limit result
59
+ */
60
+ export interface RateLimitResult {
61
+ /** Whether the request is allowed */
62
+ allowed: boolean;
63
+ /** Remaining tokens */
64
+ remaining: number;
65
+ /** Total tokens in bucket */
66
+ limit: number;
67
+ /** Milliseconds until bucket refills */
68
+ retryAfterMs?: number;
69
+ /** When the limit resets (ISO timestamp) */
70
+ resetAt?: string;
71
+ /** Current metrics for this key (optional) */
72
+ metrics?: RateLimitMetrics;
73
+ /** Whether the request waited in queue (SMI-1013) */
74
+ queued?: boolean;
75
+ /** Time spent waiting in queue in milliseconds (SMI-1013) */
76
+ queueWaitMs?: number;
77
+ }
78
+ /**
79
+ * Queued request waiting for a token (SMI-1013)
80
+ */
81
+ export interface QueuedRequest {
82
+ /** Unique identifier for this request */
83
+ id: string;
84
+ /** Resolve function to signal the request can proceed */
85
+ resolve: (result: RateLimitResult) => void;
86
+ /** Reject function for timeout */
87
+ reject: (error: Error) => void;
88
+ /** Token cost for this request */
89
+ cost: number;
90
+ /** Timestamp when request was queued */
91
+ queuedAt: number;
92
+ /** Timeout handle */
93
+ timeoutHandle: NodeJS.Timeout;
94
+ }
95
+ /**
96
+ * Storage interface for rate limit data
97
+ */
98
+ export interface RateLimitStorage {
99
+ get(key: string): Promise<TokenBucket | null>;
100
+ set(key: string, value: TokenBucket, ttlMs: number): Promise<void>;
101
+ delete(key: string): Promise<void>;
102
+ clear?(): Promise<void>;
103
+ }
104
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/security/rate-limiter/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAA;IACf,qCAAqC;IACrC,WAAW,EAAE,IAAI,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2CAA2C;IAC3C,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAClE,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,yDAAyD;IACzD,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,kCAAkC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Rate Limiter Types - SMI-730, SMI-1013, SMI-1189
3
+ *
4
+ * Type definitions for rate limiting functionality.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/security/rate-limiter/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -120,4 +120,89 @@ export declare function sanitizeUrl(url: string, maxLength?: number): string;
120
120
  * ```
121
121
  */
122
122
  export declare function sanitizeText(input: string, maxLength?: number): string;
123
+ /**
124
+ * Stripe ID prefixes for validation
125
+ */
126
+ declare const STRIPE_ID_PREFIXES: {
127
+ readonly customer: "cus_";
128
+ readonly subscription: "sub_";
129
+ readonly price: "price_";
130
+ readonly invoice: "in_";
131
+ readonly paymentIntent: "pi_";
132
+ readonly paymentMethod: "pm_";
133
+ readonly product: "prod_";
134
+ readonly checkout: "cs_";
135
+ readonly event: "evt_";
136
+ };
137
+ type StripeIdType = keyof typeof STRIPE_ID_PREFIXES;
138
+ /**
139
+ * Validate a Stripe ID format
140
+ *
141
+ * Stripe IDs follow the pattern: prefix_alphanumeric
142
+ * - Prefix identifies the object type (cus_, sub_, price_, etc.)
143
+ * - Suffix is alphanumeric, typically 14-24 characters
144
+ *
145
+ * @param id - The Stripe ID to validate
146
+ * @param type - The expected ID type (customer, subscription, price, etc.)
147
+ * @param maxLength - Maximum allowed input length (default: 100)
148
+ * @returns true if valid, false otherwise
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * isValidStripeId('cus_OtLqEJvHu1Mvxm', 'customer') // true
153
+ * isValidStripeId('sub_1234567890abcd', 'subscription') // true
154
+ * isValidStripeId('invalid_id', 'customer') // false
155
+ * ```
156
+ */
157
+ export declare function isValidStripeId(id: string, type: StripeIdType, maxLength?: number): boolean;
158
+ /**
159
+ * Sanitize a Stripe customer ID
160
+ *
161
+ * @param customerId - Raw customer ID
162
+ * @param maxLength - Maximum allowed input length (default: 100)
163
+ * @returns Sanitized customer ID or empty string if invalid
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * sanitizeStripeCustomerId('cus_OtLqEJvHu1Mvxm')
168
+ * // Returns: 'cus_OtLqEJvHu1Mvxm'
169
+ *
170
+ * sanitizeStripeCustomerId('cus_<script>')
171
+ * // Returns: ''
172
+ * ```
173
+ */
174
+ export declare function sanitizeStripeCustomerId(customerId: string, maxLength?: number): string;
175
+ /**
176
+ * Sanitize a Stripe subscription ID
177
+ *
178
+ * @param subscriptionId - Raw subscription ID
179
+ * @param maxLength - Maximum allowed input length (default: 100)
180
+ * @returns Sanitized subscription ID or empty string if invalid
181
+ */
182
+ export declare function sanitizeStripeSubscriptionId(subscriptionId: string, maxLength?: number): string;
183
+ /**
184
+ * Sanitize a Stripe price ID
185
+ *
186
+ * @param priceId - Raw price ID
187
+ * @param maxLength - Maximum allowed input length (default: 100)
188
+ * @returns Sanitized price ID or empty string if invalid
189
+ */
190
+ export declare function sanitizeStripePriceId(priceId: string, maxLength?: number): string;
191
+ /**
192
+ * Sanitize a Stripe invoice ID
193
+ *
194
+ * @param invoiceId - Raw invoice ID
195
+ * @param maxLength - Maximum allowed input length (default: 100)
196
+ * @returns Sanitized invoice ID or empty string if invalid
197
+ */
198
+ export declare function sanitizeStripeInvoiceId(invoiceId: string, maxLength?: number): string;
199
+ /**
200
+ * Sanitize a Stripe event ID (for webhooks)
201
+ *
202
+ * @param eventId - Raw event ID
203
+ * @param maxLength - Maximum allowed input length (default: 100)
204
+ * @returns Sanitized event ID or empty string if invalid
205
+ */
206
+ export declare function sanitizeStripeEventId(eventId: string, maxLength?: number): string;
207
+ export {};
123
208
  //# sourceMappingURL=sanitization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../../src/security/sanitization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,SAAS,CAAA;AAExC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAgDlF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAmFrF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,SAAqB,GAC7B,MAAM,CAkGR;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAiD/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CA8BlF"}
1
+ {"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../../src/security/sanitization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,SAAS,CAAA;AAExC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAgDlF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAmFrF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,SAAqB,GAC7B,MAAM,CAkGR;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CAiD/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,MAAM,CA8BlF;AAMD;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;CAUd,CAAA;AAEV,KAAK,YAAY,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,SAAM,GAAG,OAAO,CAqBxF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAMpF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAM5F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAM9E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAMlF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAM9E"}
@@ -375,4 +375,137 @@ export function sanitizeText(input, maxLength = DEFAULT_MAX_LENGTH) {
375
375
  sanitized = sanitized.trim();
376
376
  return sanitized;
377
377
  }
378
+ // ============================================================================
379
+ // Stripe ID Validators (SMI-1062)
380
+ // ============================================================================
381
+ /**
382
+ * Stripe ID prefixes for validation
383
+ */
384
+ const STRIPE_ID_PREFIXES = {
385
+ customer: 'cus_',
386
+ subscription: 'sub_',
387
+ price: 'price_',
388
+ invoice: 'in_',
389
+ paymentIntent: 'pi_',
390
+ paymentMethod: 'pm_',
391
+ product: 'prod_',
392
+ checkout: 'cs_',
393
+ event: 'evt_',
394
+ };
395
+ /**
396
+ * Validate a Stripe ID format
397
+ *
398
+ * Stripe IDs follow the pattern: prefix_alphanumeric
399
+ * - Prefix identifies the object type (cus_, sub_, price_, etc.)
400
+ * - Suffix is alphanumeric, typically 14-24 characters
401
+ *
402
+ * @param id - The Stripe ID to validate
403
+ * @param type - The expected ID type (customer, subscription, price, etc.)
404
+ * @param maxLength - Maximum allowed input length (default: 100)
405
+ * @returns true if valid, false otherwise
406
+ *
407
+ * @example
408
+ * ```typescript
409
+ * isValidStripeId('cus_OtLqEJvHu1Mvxm', 'customer') // true
410
+ * isValidStripeId('sub_1234567890abcd', 'subscription') // true
411
+ * isValidStripeId('invalid_id', 'customer') // false
412
+ * ```
413
+ */
414
+ export function isValidStripeId(id, type, maxLength = 100) {
415
+ if (!id || typeof id !== 'string') {
416
+ return false;
417
+ }
418
+ if (id.length > maxLength || id.length < 5) {
419
+ return false;
420
+ }
421
+ const prefix = STRIPE_ID_PREFIXES[type];
422
+ if (!id.startsWith(prefix)) {
423
+ return false;
424
+ }
425
+ // Validate suffix is alphanumeric only
426
+ const suffix = id.slice(prefix.length);
427
+ if (!/^[a-zA-Z0-9]+$/.test(suffix)) {
428
+ return false;
429
+ }
430
+ return true;
431
+ }
432
+ /**
433
+ * Sanitize a Stripe customer ID
434
+ *
435
+ * @param customerId - Raw customer ID
436
+ * @param maxLength - Maximum allowed input length (default: 100)
437
+ * @returns Sanitized customer ID or empty string if invalid
438
+ *
439
+ * @example
440
+ * ```typescript
441
+ * sanitizeStripeCustomerId('cus_OtLqEJvHu1Mvxm')
442
+ * // Returns: 'cus_OtLqEJvHu1Mvxm'
443
+ *
444
+ * sanitizeStripeCustomerId('cus_<script>')
445
+ * // Returns: ''
446
+ * ```
447
+ */
448
+ export function sanitizeStripeCustomerId(customerId, maxLength = 100) {
449
+ if (!isValidStripeId(customerId, 'customer', maxLength)) {
450
+ logger.warn('Invalid Stripe customer ID', { customerId: customerId?.slice(0, 20) });
451
+ return '';
452
+ }
453
+ return customerId;
454
+ }
455
+ /**
456
+ * Sanitize a Stripe subscription ID
457
+ *
458
+ * @param subscriptionId - Raw subscription ID
459
+ * @param maxLength - Maximum allowed input length (default: 100)
460
+ * @returns Sanitized subscription ID or empty string if invalid
461
+ */
462
+ export function sanitizeStripeSubscriptionId(subscriptionId, maxLength = 100) {
463
+ if (!isValidStripeId(subscriptionId, 'subscription', maxLength)) {
464
+ logger.warn('Invalid Stripe subscription ID', { subscriptionId: subscriptionId?.slice(0, 20) });
465
+ return '';
466
+ }
467
+ return subscriptionId;
468
+ }
469
+ /**
470
+ * Sanitize a Stripe price ID
471
+ *
472
+ * @param priceId - Raw price ID
473
+ * @param maxLength - Maximum allowed input length (default: 100)
474
+ * @returns Sanitized price ID or empty string if invalid
475
+ */
476
+ export function sanitizeStripePriceId(priceId, maxLength = 100) {
477
+ if (!isValidStripeId(priceId, 'price', maxLength)) {
478
+ logger.warn('Invalid Stripe price ID', { priceId: priceId?.slice(0, 20) });
479
+ return '';
480
+ }
481
+ return priceId;
482
+ }
483
+ /**
484
+ * Sanitize a Stripe invoice ID
485
+ *
486
+ * @param invoiceId - Raw invoice ID
487
+ * @param maxLength - Maximum allowed input length (default: 100)
488
+ * @returns Sanitized invoice ID or empty string if invalid
489
+ */
490
+ export function sanitizeStripeInvoiceId(invoiceId, maxLength = 100) {
491
+ if (!isValidStripeId(invoiceId, 'invoice', maxLength)) {
492
+ logger.warn('Invalid Stripe invoice ID', { invoiceId: invoiceId?.slice(0, 20) });
493
+ return '';
494
+ }
495
+ return invoiceId;
496
+ }
497
+ /**
498
+ * Sanitize a Stripe event ID (for webhooks)
499
+ *
500
+ * @param eventId - Raw event ID
501
+ * @param maxLength - Maximum allowed input length (default: 100)
502
+ * @returns Sanitized event ID or empty string if invalid
503
+ */
504
+ export function sanitizeStripeEventId(eventId, maxLength = 100) {
505
+ if (!isValidStripeId(eventId, 'event', maxLength)) {
506
+ logger.warn('Invalid Stripe event ID', { eventId: eventId?.slice(0, 20) });
507
+ return '';
508
+ }
509
+ return eventId;
510
+ }
378
511
  //# sourceMappingURL=sanitization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../../src/security/sanitization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../../src/security/sanitization.ts"],"names":[],"mappings":"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"}
@@ -1,66 +1,9 @@
1
1
  /**
2
- * SMI-587: Security Scanner
3
- * SMI-685: Enhanced security scanning with severity scoring
4
- * SMI-882: ReDoS protection with input length limits and safe regex matching
5
- * Security scanning for skill content with advanced pattern detection
2
+ * Security Scanner - SMI-587, SMI-685, SMI-882, SMI-1189
3
+ *
4
+ * Security scanning for skill content with advanced pattern detection.
6
5
  */
7
- /**
8
- * Types of security findings that can be detected
9
- */
10
- export type SecurityFindingType = 'url' | 'sensitive_path' | 'jailbreak' | 'suspicious_pattern' | 'social_engineering' | 'prompt_leaking' | 'data_exfiltration' | 'privilege_escalation';
11
- /**
12
- * Severity levels for security findings
13
- */
14
- export type SecuritySeverity = 'low' | 'medium' | 'high' | 'critical';
15
- /**
16
- * Individual security finding from a scan
17
- */
18
- export interface SecurityFinding {
19
- type: SecurityFindingType;
20
- severity: SecuritySeverity;
21
- message: string;
22
- location?: string;
23
- lineNumber?: number;
24
- /** Category for grouping related findings */
25
- category?: string;
26
- }
27
- /**
28
- * Risk score breakdown by category
29
- */
30
- export interface RiskScoreBreakdown {
31
- jailbreak: number;
32
- socialEngineering: number;
33
- promptLeaking: number;
34
- dataExfiltration: number;
35
- privilegeEscalation: number;
36
- suspiciousCode: number;
37
- sensitivePaths: number;
38
- externalUrls: number;
39
- }
40
- /**
41
- * Comprehensive scan report with risk scoring
42
- */
43
- export interface ScanReport {
44
- skillId: string;
45
- passed: boolean;
46
- findings: SecurityFinding[];
47
- scannedAt: Date;
48
- scanDurationMs: number;
49
- /** Overall risk score from 0-100 (0 = safe, 100 = extremely dangerous) */
50
- riskScore: number;
51
- /** Breakdown of risk score by category */
52
- riskBreakdown: RiskScoreBreakdown;
53
- }
54
- /**
55
- * Configuration options for the security scanner
56
- */
57
- export interface ScannerOptions {
58
- allowedDomains?: string[];
59
- blockedPatterns?: RegExp[];
60
- maxContentLength?: number;
61
- /** Risk score threshold for failing a scan (default: 40) */
62
- riskThreshold?: number;
63
- }
6
+ import type { SecurityFinding, ScanReport, ScannerOptions, RiskScoreBreakdown } from './types.js';
64
7
  export declare class SecurityScanner {
65
8
  private allowedDomains;
66
9
  private blockedPatterns;
@@ -82,11 +25,13 @@ export declare class SecurityScanner {
82
25
  /**
83
26
  * Scan for sensitive file path references
84
27
  * SMI-882: Uses safeRegexCheck to prevent ReDoS
28
+ * SMI-1513: Mark findings in documentation context with lower confidence
85
29
  */
86
30
  private scanSensitivePaths;
87
31
  /**
88
32
  * Scan for jailbreak attempts
89
33
  * SMI-882: Uses safeRegexTest to prevent ReDoS
34
+ * SMI-1513: Mark findings in documentation context with lower confidence
90
35
  */
91
36
  private scanJailbreakPatterns;
92
37
  /**
@@ -97,29 +42,49 @@ export declare class SecurityScanner {
97
42
  /**
98
43
  * SMI-685: Scan for social engineering attempts
99
44
  * SMI-882: Uses safeRegexTest to prevent ReDoS
45
+ * SMI-1513: Mark findings in documentation context with lower confidence
100
46
  * Detects patterns like "pretend to be", "roleplay as", "you are now"
101
47
  */
102
48
  private scanSocialEngineering;
103
49
  /**
104
50
  * SMI-685: Scan for prompt leaking attempts
105
51
  * SMI-882: Uses safeRegexTest to prevent ReDoS
52
+ * SMI-1513: Mark findings in documentation context with lower confidence
106
53
  * Detects patterns like "show me your instructions", "what are your rules"
107
54
  */
108
55
  private scanPromptLeaking;
109
56
  /**
110
57
  * SMI-685: Scan for data exfiltration patterns
111
58
  * SMI-882: Uses safeRegexTest to prevent ReDoS
59
+ * SMI-1513: Mark findings in documentation context with lower confidence
112
60
  * Detects encoding to external URLs, file upload patterns
113
61
  */
114
62
  private scanDataExfiltration;
115
63
  /**
116
64
  * SMI-685: Scan for privilege escalation patterns
117
65
  * SMI-882: Uses safeRegexTest to prevent ReDoS
66
+ * SMI-1513: Mark findings in documentation context with lower confidence
118
67
  * Detects sudo with passwords, chmod patterns, root access attempts
119
68
  */
120
69
  private scanPrivilegeEscalation;
70
+ /**
71
+ * SMI-1532: Scan for AI injection vulnerabilities (CVE-hardened)
72
+ * Optimized for sub-10ms scan time with compiled regex
73
+ * SMI-1513: Mark findings in documentation context with lower confidence
74
+ *
75
+ * Detects:
76
+ * - Role injection (system:/assistant:/user:)
77
+ * - Hidden instruction brackets [[...]]
78
+ * - HTML comment injection
79
+ * - Unicode homograph attacks
80
+ * - Prompt structure manipulation
81
+ * - Base64 encoded instructions
82
+ * - And more...
83
+ */
84
+ private scanAIDefenceVulnerabilities;
121
85
  /**
122
86
  * SMI-685: Calculate risk score from findings
87
+ * SMI-1513: Accounts for confidence levels (low confidence = reduced weight)
123
88
  * Aggregates multiple findings into a risk score from 0-100
124
89
  * @param findings - Array of security findings
125
90
  * @returns Risk score breakdown and total
@@ -131,6 +96,7 @@ export declare class SecurityScanner {
131
96
  /**
132
97
  * Perform full security scan
133
98
  * SMI-685: Enhanced with new pattern detection and risk scoring
99
+ * SMI-1513: Added markdown context awareness to reduce false positives
134
100
  */
135
101
  scan(skillId: string, content: string): ScanReport;
136
102
  /**
@@ -148,4 +114,4 @@ export declare class SecurityScanner {
148
114
  addBlockedPattern(pattern: RegExp): void;
149
115
  }
150
116
  export default SecurityScanner;
151
- //# sourceMappingURL=scanner.d.ts.map
117
+ //# sourceMappingURL=SecurityScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityScanner.d.ts","sourceRoot":"","sources":["../../../../src/security/scanner/SecurityScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,kBAAkB,EAEnB,MAAM,YAAY,CAAA;AAwFnB,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAQ;gBAEjB,OAAO,GAAE,cAAmB;IAOxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAmBhB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,4BAA4B;IAoFpC;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG;QAC/C,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,kBAAkB,CAAA;KAC9B;IAyFD;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAoDlD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASpC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGzC;AAED,eAAe,eAAe,CAAA"}