@sentry/warden 0.0.0 → 0.1.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 (546) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/.github/workflows/release.yml +6 -1
  3. package/.github/workflows/warden.yml +1 -1
  4. package/dist/action/159.index.js +523 -0
  5. package/dist/action/159.index.js.map +1 -0
  6. package/dist/action/action/index.d.ts +2 -0
  7. package/dist/action/action/index.d.ts.map +1 -0
  8. package/dist/action/action/main.d.ts +2 -0
  9. package/dist/action/action/main.d.ts.map +1 -0
  10. package/dist/action/cli/args.d.ts +74 -0
  11. package/dist/action/cli/args.d.ts.map +1 -0
  12. package/dist/action/cli/args.test.d.ts +2 -0
  13. package/dist/action/cli/args.test.d.ts.map +1 -0
  14. package/dist/action/cli/commands/add.d.ts +7 -0
  15. package/dist/action/cli/commands/add.d.ts.map +1 -0
  16. package/dist/action/cli/commands/init.d.ts +10 -0
  17. package/dist/action/cli/commands/init.d.ts.map +1 -0
  18. package/dist/action/cli/commands/init.test.d.ts +2 -0
  19. package/dist/action/cli/commands/init.test.d.ts.map +1 -0
  20. package/dist/action/cli/commands/setup-app/browser.d.ts +9 -0
  21. package/dist/action/cli/commands/setup-app/browser.d.ts.map +1 -0
  22. package/dist/action/cli/commands/setup-app/credentials.d.ts +15 -0
  23. package/dist/action/cli/commands/setup-app/credentials.d.ts.map +1 -0
  24. package/dist/action/cli/commands/setup-app/manifest.d.ts +24 -0
  25. package/dist/action/cli/commands/setup-app/manifest.d.ts.map +1 -0
  26. package/dist/action/cli/commands/setup-app/server.d.ts +28 -0
  27. package/dist/action/cli/commands/setup-app/server.d.ts.map +1 -0
  28. package/dist/action/cli/commands/setup-app.d.ts +11 -0
  29. package/dist/action/cli/commands/setup-app.d.ts.map +1 -0
  30. package/dist/action/cli/commands/sync.d.ts +9 -0
  31. package/dist/action/cli/commands/sync.d.ts.map +1 -0
  32. package/dist/action/cli/context.d.ts +27 -0
  33. package/dist/action/cli/context.d.ts.map +1 -0
  34. package/dist/action/cli/files.d.ts +22 -0
  35. package/dist/action/cli/files.d.ts.map +1 -0
  36. package/dist/action/cli/files.test.d.ts +2 -0
  37. package/dist/action/cli/files.test.d.ts.map +1 -0
  38. package/dist/action/cli/fix.d.ts +41 -0
  39. package/dist/action/cli/fix.d.ts.map +1 -0
  40. package/dist/action/cli/fix.test.d.ts +2 -0
  41. package/dist/action/cli/fix.test.d.ts.map +1 -0
  42. package/dist/action/cli/git.d.ts +73 -0
  43. package/dist/action/cli/git.d.ts.map +1 -0
  44. package/dist/action/cli/git.test.d.ts +2 -0
  45. package/dist/action/cli/git.test.d.ts.map +1 -0
  46. package/dist/action/cli/index.d.ts +3 -0
  47. package/dist/action/cli/index.d.ts.map +1 -0
  48. package/dist/action/cli/main.d.ts +7 -0
  49. package/dist/action/cli/main.d.ts.map +1 -0
  50. package/dist/action/cli/output/box.d.ts +75 -0
  51. package/dist/action/cli/output/box.d.ts.map +1 -0
  52. package/dist/action/cli/output/formatters.d.ts +90 -0
  53. package/dist/action/cli/output/formatters.d.ts.map +1 -0
  54. package/dist/action/cli/output/formatters.test.d.ts +2 -0
  55. package/dist/action/cli/output/formatters.test.d.ts.map +1 -0
  56. package/dist/action/cli/output/icons.d.ts +11 -0
  57. package/dist/action/cli/output/icons.d.ts.map +1 -0
  58. package/dist/action/cli/output/index.d.ts +10 -0
  59. package/dist/action/cli/output/index.d.ts.map +1 -0
  60. package/dist/action/cli/output/ink-runner.d.ts +9 -0
  61. package/dist/action/cli/output/ink-runner.d.ts.map +1 -0
  62. package/dist/action/cli/output/jsonl.d.ts +43 -0
  63. package/dist/action/cli/output/jsonl.d.ts.map +1 -0
  64. package/dist/action/cli/output/jsonl.test.d.ts +2 -0
  65. package/dist/action/cli/output/jsonl.test.d.ts.map +1 -0
  66. package/dist/action/cli/output/reporter.d.ts +108 -0
  67. package/dist/action/cli/output/reporter.d.ts.map +1 -0
  68. package/dist/action/cli/output/tasks.d.ts +89 -0
  69. package/dist/action/cli/output/tasks.d.ts.map +1 -0
  70. package/dist/action/cli/output/tty.d.ts +21 -0
  71. package/dist/action/cli/output/tty.d.ts.map +1 -0
  72. package/dist/action/cli/output/tty.test.d.ts +2 -0
  73. package/dist/action/cli/output/tty.test.d.ts.map +1 -0
  74. package/dist/action/cli/output/verbosity.d.ts +20 -0
  75. package/dist/action/cli/output/verbosity.d.ts.map +1 -0
  76. package/dist/action/cli/output/verbosity.test.d.ts +2 -0
  77. package/dist/action/cli/output/verbosity.test.d.ts.map +1 -0
  78. package/dist/action/cli/terminal.d.ts +19 -0
  79. package/dist/action/cli/terminal.d.ts.map +1 -0
  80. package/dist/action/cli/terminal.test.d.ts +2 -0
  81. package/dist/action/cli/terminal.test.d.ts.map +1 -0
  82. package/dist/action/config/index.d.ts +4 -0
  83. package/dist/action/config/index.d.ts.map +1 -0
  84. package/dist/action/config/loader.d.ts +27 -0
  85. package/dist/action/config/loader.d.ts.map +1 -0
  86. package/dist/action/config/loader.test.d.ts +2 -0
  87. package/dist/action/config/loader.test.d.ts.map +1 -0
  88. package/dist/action/config/schema.d.ts +318 -0
  89. package/dist/action/config/schema.d.ts.map +1 -0
  90. package/dist/action/config/writer.d.ts +11 -0
  91. package/dist/action/config/writer.d.ts.map +1 -0
  92. package/dist/action/config/writer.test.d.ts +2 -0
  93. package/dist/action/config/writer.test.d.ts.map +1 -0
  94. package/dist/action/diff/classify.d.ts +29 -0
  95. package/dist/action/diff/classify.d.ts.map +1 -0
  96. package/dist/action/diff/classify.test.d.ts +2 -0
  97. package/dist/action/diff/classify.test.d.ts.map +1 -0
  98. package/dist/action/diff/coalesce.d.ts +42 -0
  99. package/dist/action/diff/coalesce.d.ts.map +1 -0
  100. package/dist/action/diff/coalesce.test.d.ts +2 -0
  101. package/dist/action/diff/coalesce.test.d.ts.map +1 -0
  102. package/dist/action/diff/context.d.ts +30 -0
  103. package/dist/action/diff/context.d.ts.map +1 -0
  104. package/dist/action/diff/context.test.d.ts +2 -0
  105. package/dist/action/diff/context.test.d.ts.map +1 -0
  106. package/dist/action/diff/index.d.ts +5 -0
  107. package/dist/action/diff/index.d.ts.map +1 -0
  108. package/dist/action/diff/parser.d.ts +52 -0
  109. package/dist/action/diff/parser.d.ts.map +1 -0
  110. package/dist/action/diff/parser.test.d.ts +2 -0
  111. package/dist/action/diff/parser.test.d.ts.map +1 -0
  112. package/dist/action/event/context.d.ts +9 -0
  113. package/dist/action/event/context.d.ts.map +1 -0
  114. package/dist/action/event/index.d.ts +3 -0
  115. package/dist/action/event/index.d.ts.map +1 -0
  116. package/dist/action/event/schedule-context.d.ts +30 -0
  117. package/dist/action/event/schedule-context.d.ts.map +1 -0
  118. package/dist/action/examples/examples.integration.test.d.ts +2 -0
  119. package/dist/action/examples/examples.integration.test.d.ts.map +1 -0
  120. package/dist/action/examples/index.d.ts +50 -0
  121. package/dist/action/examples/index.d.ts.map +1 -0
  122. package/dist/action/examples/index.test.d.ts +2 -0
  123. package/dist/action/examples/index.test.d.ts.map +1 -0
  124. package/dist/action/examples/setup.d.ts +2 -0
  125. package/dist/action/examples/setup.d.ts.map +1 -0
  126. package/dist/action/index.d.ts +11 -0
  127. package/dist/action/index.d.ts.map +1 -0
  128. package/dist/action/index.js +38231 -0
  129. package/dist/action/index.js.map +1 -0
  130. package/dist/action/licenses.txt +992 -0
  131. package/dist/action/main.d.ts +2 -0
  132. package/dist/action/main.d.ts.map +1 -0
  133. package/dist/action/main.js +707 -0
  134. package/dist/action/main.js.map +1 -0
  135. package/dist/action/output/dedup.d.ts +153 -0
  136. package/dist/action/output/dedup.d.ts.map +1 -0
  137. package/dist/action/output/dedup.test.d.ts +2 -0
  138. package/dist/action/output/dedup.test.d.ts.map +1 -0
  139. package/dist/action/output/github-checks.d.ts +106 -0
  140. package/dist/action/output/github-checks.d.ts.map +1 -0
  141. package/dist/action/output/github-checks.test.d.ts +2 -0
  142. package/dist/action/output/github-checks.test.d.ts.map +1 -0
  143. package/dist/action/output/github-issues.d.ts +35 -0
  144. package/dist/action/output/github-issues.d.ts.map +1 -0
  145. package/dist/action/output/index.d.ts +6 -0
  146. package/dist/action/output/index.d.ts.map +1 -0
  147. package/dist/action/output/issue-renderer.d.ts +20 -0
  148. package/dist/action/output/issue-renderer.d.ts.map +1 -0
  149. package/dist/action/output/renderer.d.ts +4 -0
  150. package/dist/action/output/renderer.d.ts.map +1 -0
  151. package/dist/action/output/renderer.test.d.ts +2 -0
  152. package/dist/action/output/renderer.test.d.ts.map +1 -0
  153. package/dist/action/output/stale.d.ts +31 -0
  154. package/dist/action/output/stale.d.ts.map +1 -0
  155. package/dist/action/output/stale.test.d.ts +2 -0
  156. package/dist/action/output/stale.test.d.ts.map +1 -0
  157. package/dist/action/output/types.d.ts +31 -0
  158. package/dist/action/output/types.d.ts.map +1 -0
  159. package/dist/action/package.json +3 -0
  160. package/dist/action/sdk/index.d.ts +2 -0
  161. package/dist/action/sdk/index.d.ts.map +1 -0
  162. package/dist/action/sdk/runner.d.ts +202 -0
  163. package/dist/action/sdk/runner.d.ts.map +1 -0
  164. package/dist/action/sdk/runner.test.d.ts +2 -0
  165. package/dist/action/sdk/runner.test.d.ts.map +1 -0
  166. package/dist/action/skills/index.d.ts +5 -0
  167. package/dist/action/skills/index.d.ts.map +1 -0
  168. package/dist/action/skills/loader.d.ts +111 -0
  169. package/dist/action/skills/loader.d.ts.map +1 -0
  170. package/dist/action/skills/loader.test.d.ts +2 -0
  171. package/dist/action/skills/loader.test.d.ts.map +1 -0
  172. package/dist/action/skills/remote.d.ts +117 -0
  173. package/dist/action/skills/remote.d.ts.map +1 -0
  174. package/dist/action/skills/remote.test.d.ts +2 -0
  175. package/dist/action/skills/remote.test.d.ts.map +1 -0
  176. package/dist/action/sourcemap-register.cjs +1 -0
  177. package/dist/action/triggers/matcher.d.ts +30 -0
  178. package/dist/action/triggers/matcher.d.ts.map +1 -0
  179. package/dist/action/triggers/matcher.test.d.ts +2 -0
  180. package/dist/action/triggers/matcher.test.d.ts.map +1 -0
  181. package/dist/action/types/index.d.ts +269 -0
  182. package/dist/action/types/index.d.ts.map +1 -0
  183. package/dist/action/utils/async.d.ts +5 -0
  184. package/dist/action/utils/async.d.ts.map +1 -0
  185. package/dist/action/utils/index.d.ts +16 -0
  186. package/dist/action/utils/index.d.ts.map +1 -0
  187. package/dist/action/utils/index.test.d.ts +2 -0
  188. package/dist/action/utils/index.test.d.ts.map +1 -0
  189. package/dist/action/utils/version.d.ts +3 -0
  190. package/dist/action/utils/version.d.ts.map +1 -0
  191. package/dist/cli/args.d.ts +74 -0
  192. package/dist/cli/args.d.ts.map +1 -0
  193. package/dist/cli/args.js +359 -0
  194. package/dist/cli/args.js.map +1 -0
  195. package/dist/cli/args.test.d.ts +2 -0
  196. package/dist/cli/args.test.d.ts.map +1 -0
  197. package/dist/cli/args.test.js +392 -0
  198. package/dist/cli/args.test.js.map +1 -0
  199. package/dist/cli/commands/add.d.ts +7 -0
  200. package/dist/cli/commands/add.d.ts.map +1 -0
  201. package/dist/cli/commands/add.js +380 -0
  202. package/dist/cli/commands/add.js.map +1 -0
  203. package/dist/cli/commands/init.d.ts +10 -0
  204. package/dist/cli/commands/init.d.ts.map +1 -0
  205. package/dist/cli/commands/init.js +113 -0
  206. package/dist/cli/commands/init.js.map +1 -0
  207. package/dist/cli/commands/init.test.d.ts +2 -0
  208. package/dist/cli/commands/init.test.d.ts.map +1 -0
  209. package/dist/cli/commands/init.test.js +117 -0
  210. package/dist/cli/commands/init.test.js.map +1 -0
  211. package/dist/cli/commands/setup-app/browser.d.ts +9 -0
  212. package/dist/cli/commands/setup-app/browser.d.ts.map +1 -0
  213. package/dist/cli/commands/setup-app/browser.js +36 -0
  214. package/dist/cli/commands/setup-app/browser.js.map +1 -0
  215. package/dist/cli/commands/setup-app/credentials.d.ts +15 -0
  216. package/dist/cli/commands/setup-app/credentials.d.ts.map +1 -0
  217. package/dist/cli/commands/setup-app/credentials.js +29 -0
  218. package/dist/cli/commands/setup-app/credentials.js.map +1 -0
  219. package/dist/cli/commands/setup-app/manifest.d.ts +24 -0
  220. package/dist/cli/commands/setup-app/manifest.d.ts.map +1 -0
  221. package/dist/cli/commands/setup-app/manifest.js +29 -0
  222. package/dist/cli/commands/setup-app/manifest.js.map +1 -0
  223. package/dist/cli/commands/setup-app/server.d.ts +28 -0
  224. package/dist/cli/commands/setup-app/server.d.ts.map +1 -0
  225. package/dist/cli/commands/setup-app/server.js +136 -0
  226. package/dist/cli/commands/setup-app/server.js.map +1 -0
  227. package/dist/cli/commands/setup-app.d.ts +11 -0
  228. package/dist/cli/commands/setup-app.d.ts.map +1 -0
  229. package/dist/cli/commands/setup-app.js +139 -0
  230. package/dist/cli/commands/setup-app.js.map +1 -0
  231. package/dist/cli/commands/sync.d.ts +9 -0
  232. package/dist/cli/commands/sync.d.ts.map +1 -0
  233. package/dist/cli/commands/sync.js +96 -0
  234. package/dist/cli/commands/sync.js.map +1 -0
  235. package/dist/cli/context.d.ts +27 -0
  236. package/dist/cli/context.d.ts.map +1 -0
  237. package/dist/cli/context.js +101 -0
  238. package/dist/cli/context.js.map +1 -0
  239. package/dist/cli/files.d.ts +22 -0
  240. package/dist/cli/files.d.ts.map +1 -0
  241. package/dist/cli/files.js +66 -0
  242. package/dist/cli/files.js.map +1 -0
  243. package/dist/cli/files.test.d.ts +2 -0
  244. package/dist/cli/files.test.d.ts.map +1 -0
  245. package/dist/cli/files.test.js +117 -0
  246. package/dist/cli/files.test.js.map +1 -0
  247. package/dist/cli/fix.d.ts +41 -0
  248. package/dist/cli/fix.d.ts.map +1 -0
  249. package/dist/cli/fix.js +320 -0
  250. package/dist/cli/fix.js.map +1 -0
  251. package/dist/cli/fix.test.d.ts +2 -0
  252. package/dist/cli/fix.test.d.ts.map +1 -0
  253. package/dist/cli/fix.test.js +251 -0
  254. package/dist/cli/fix.test.js.map +1 -0
  255. package/dist/cli/git.d.ts +73 -0
  256. package/dist/cli/git.d.ts.map +1 -0
  257. package/dist/cli/git.js +267 -0
  258. package/dist/cli/git.js.map +1 -0
  259. package/dist/cli/git.test.d.ts +2 -0
  260. package/dist/cli/git.test.d.ts.map +1 -0
  261. package/dist/cli/git.test.js +96 -0
  262. package/dist/cli/git.test.js.map +1 -0
  263. package/dist/cli/index.d.ts +3 -0
  264. package/dist/cli/index.d.ts.map +1 -0
  265. package/dist/cli/index.js +13 -0
  266. package/dist/cli/index.js.map +1 -0
  267. package/dist/cli/main.d.ts +7 -0
  268. package/dist/cli/main.d.ts.map +1 -0
  269. package/dist/cli/main.js +560 -0
  270. package/dist/cli/main.js.map +1 -0
  271. package/dist/cli/output/box.d.ts +75 -0
  272. package/dist/cli/output/box.d.ts.map +1 -0
  273. package/dist/cli/output/box.js +191 -0
  274. package/dist/cli/output/box.js.map +1 -0
  275. package/dist/cli/output/formatters.d.ts +90 -0
  276. package/dist/cli/output/formatters.d.ts.map +1 -0
  277. package/dist/cli/output/formatters.js +248 -0
  278. package/dist/cli/output/formatters.js.map +1 -0
  279. package/dist/cli/output/formatters.test.d.ts +2 -0
  280. package/dist/cli/output/formatters.test.d.ts.map +1 -0
  281. package/dist/cli/output/formatters.test.js +152 -0
  282. package/dist/cli/output/formatters.test.js.map +1 -0
  283. package/dist/cli/output/icons.d.ts +11 -0
  284. package/dist/cli/output/icons.d.ts.map +1 -0
  285. package/dist/cli/output/icons.js +11 -0
  286. package/dist/cli/output/icons.js.map +1 -0
  287. package/dist/cli/output/index.d.ts +10 -0
  288. package/dist/cli/output/index.d.ts.map +1 -0
  289. package/dist/cli/output/index.js +10 -0
  290. package/dist/cli/output/index.js.map +1 -0
  291. package/dist/cli/output/ink-runner.d.ts +9 -0
  292. package/dist/cli/output/ink-runner.d.ts.map +1 -0
  293. package/dist/cli/output/ink-runner.js +207 -0
  294. package/dist/cli/output/ink-runner.js.map +1 -0
  295. package/dist/cli/output/jsonl.d.ts +43 -0
  296. package/dist/cli/output/jsonl.d.ts.map +1 -0
  297. package/dist/cli/output/jsonl.js +89 -0
  298. package/dist/cli/output/jsonl.js.map +1 -0
  299. package/dist/cli/output/jsonl.test.d.ts +2 -0
  300. package/dist/cli/output/jsonl.test.d.ts.map +1 -0
  301. package/dist/cli/output/jsonl.test.js +284 -0
  302. package/dist/cli/output/jsonl.test.js.map +1 -0
  303. package/dist/cli/output/reporter.d.ts +108 -0
  304. package/dist/cli/output/reporter.d.ts.map +1 -0
  305. package/dist/cli/output/reporter.js +378 -0
  306. package/dist/cli/output/reporter.js.map +1 -0
  307. package/dist/cli/output/tasks.d.ts +89 -0
  308. package/dist/cli/output/tasks.d.ts.map +1 -0
  309. package/dist/cli/output/tasks.js +251 -0
  310. package/dist/cli/output/tasks.js.map +1 -0
  311. package/dist/cli/output/tty.d.ts +21 -0
  312. package/dist/cli/output/tty.d.ts.map +1 -0
  313. package/dist/cli/output/tty.js +44 -0
  314. package/dist/cli/output/tty.js.map +1 -0
  315. package/dist/cli/output/tty.test.d.ts +2 -0
  316. package/dist/cli/output/tty.test.d.ts.map +1 -0
  317. package/dist/cli/output/tty.test.js +105 -0
  318. package/dist/cli/output/tty.test.js.map +1 -0
  319. package/dist/cli/output/verbosity.d.ts +20 -0
  320. package/dist/cli/output/verbosity.d.ts.map +1 -0
  321. package/dist/cli/output/verbosity.js +32 -0
  322. package/dist/cli/output/verbosity.js.map +1 -0
  323. package/dist/cli/output/verbosity.test.d.ts +2 -0
  324. package/dist/cli/output/verbosity.test.d.ts.map +1 -0
  325. package/dist/cli/output/verbosity.test.js +35 -0
  326. package/dist/cli/output/verbosity.test.js.map +1 -0
  327. package/dist/cli/terminal.d.ts +19 -0
  328. package/dist/cli/terminal.d.ts.map +1 -0
  329. package/dist/cli/terminal.js +247 -0
  330. package/dist/cli/terminal.js.map +1 -0
  331. package/dist/cli/terminal.test.d.ts +2 -0
  332. package/dist/cli/terminal.test.d.ts.map +1 -0
  333. package/dist/cli/terminal.test.js +123 -0
  334. package/dist/cli/terminal.test.js.map +1 -0
  335. package/dist/config/index.d.ts +4 -0
  336. package/dist/config/index.d.ts.map +1 -0
  337. package/dist/config/index.js +4 -0
  338. package/dist/config/index.js.map +1 -0
  339. package/dist/config/loader.d.ts +27 -0
  340. package/dist/config/loader.d.ts.map +1 -0
  341. package/dist/config/loader.js +77 -0
  342. package/dist/config/loader.js.map +1 -0
  343. package/dist/config/loader.test.d.ts +2 -0
  344. package/dist/config/loader.test.d.ts.map +1 -0
  345. package/dist/config/loader.test.js +263 -0
  346. package/dist/config/loader.test.js.map +1 -0
  347. package/dist/config/schema.d.ts +318 -0
  348. package/dist/config/schema.d.ts.map +1 -0
  349. package/dist/config/schema.js +137 -0
  350. package/dist/config/schema.js.map +1 -0
  351. package/dist/config/writer.d.ts +11 -0
  352. package/dist/config/writer.d.ts.map +1 -0
  353. package/dist/config/writer.js +74 -0
  354. package/dist/config/writer.js.map +1 -0
  355. package/dist/config/writer.test.d.ts +2 -0
  356. package/dist/config/writer.test.d.ts.map +1 -0
  357. package/dist/config/writer.test.js +98 -0
  358. package/dist/config/writer.test.js.map +1 -0
  359. package/dist/diff/classify.d.ts +29 -0
  360. package/dist/diff/classify.d.ts.map +1 -0
  361. package/dist/diff/classify.js +74 -0
  362. package/dist/diff/classify.js.map +1 -0
  363. package/dist/diff/classify.test.d.ts +2 -0
  364. package/dist/diff/classify.test.d.ts.map +1 -0
  365. package/dist/diff/classify.test.js +140 -0
  366. package/dist/diff/classify.test.js.map +1 -0
  367. package/dist/diff/coalesce.d.ts +42 -0
  368. package/dist/diff/coalesce.d.ts.map +1 -0
  369. package/dist/diff/coalesce.js +104 -0
  370. package/dist/diff/coalesce.js.map +1 -0
  371. package/dist/diff/coalesce.test.d.ts +2 -0
  372. package/dist/diff/coalesce.test.d.ts.map +1 -0
  373. package/dist/diff/coalesce.test.js +159 -0
  374. package/dist/diff/coalesce.test.js.map +1 -0
  375. package/dist/diff/context.d.ts +30 -0
  376. package/dist/diff/context.d.ts.map +1 -0
  377. package/dist/diff/context.js +144 -0
  378. package/dist/diff/context.js.map +1 -0
  379. package/dist/diff/context.test.d.ts +2 -0
  380. package/dist/diff/context.test.d.ts.map +1 -0
  381. package/dist/diff/context.test.js +190 -0
  382. package/dist/diff/context.test.js.map +1 -0
  383. package/dist/diff/index.d.ts +5 -0
  384. package/dist/diff/index.d.ts.map +1 -0
  385. package/dist/diff/index.js +5 -0
  386. package/dist/diff/index.js.map +1 -0
  387. package/dist/diff/parser.d.ts +52 -0
  388. package/dist/diff/parser.d.ts.map +1 -0
  389. package/dist/diff/parser.js +95 -0
  390. package/dist/diff/parser.js.map +1 -0
  391. package/dist/diff/parser.test.d.ts +2 -0
  392. package/dist/diff/parser.test.d.ts.map +1 -0
  393. package/dist/diff/parser.test.js +178 -0
  394. package/dist/diff/parser.test.js.map +1 -0
  395. package/dist/event/context.d.ts +9 -0
  396. package/dist/event/context.d.ts.map +1 -0
  397. package/dist/event/context.js +94 -0
  398. package/dist/event/context.js.map +1 -0
  399. package/dist/event/index.d.ts +3 -0
  400. package/dist/event/index.d.ts.map +1 -0
  401. package/dist/event/index.js +3 -0
  402. package/dist/event/index.js.map +1 -0
  403. package/dist/event/schedule-context.d.ts +30 -0
  404. package/dist/event/schedule-context.d.ts.map +1 -0
  405. package/dist/event/schedule-context.js +57 -0
  406. package/dist/event/schedule-context.js.map +1 -0
  407. package/dist/examples/examples.integration.test.d.ts +2 -0
  408. package/dist/examples/examples.integration.test.d.ts.map +1 -0
  409. package/dist/examples/examples.integration.test.js +55 -0
  410. package/dist/examples/examples.integration.test.js.map +1 -0
  411. package/dist/examples/index.d.ts +50 -0
  412. package/dist/examples/index.d.ts.map +1 -0
  413. package/dist/examples/index.js +104 -0
  414. package/dist/examples/index.js.map +1 -0
  415. package/dist/examples/index.test.d.ts +2 -0
  416. package/dist/examples/index.test.d.ts.map +1 -0
  417. package/dist/examples/index.test.js +88 -0
  418. package/dist/examples/index.test.js.map +1 -0
  419. package/dist/examples/setup.d.ts +2 -0
  420. package/dist/examples/setup.d.ts.map +1 -0
  421. package/dist/examples/setup.js +22 -0
  422. package/dist/examples/setup.js.map +1 -0
  423. package/dist/index.d.ts +12 -0
  424. package/dist/index.d.ts.map +1 -0
  425. package/dist/index.js +57 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/output/dedup.d.ts +153 -0
  428. package/dist/output/dedup.d.ts.map +1 -0
  429. package/dist/output/dedup.js +416 -0
  430. package/dist/output/dedup.js.map +1 -0
  431. package/dist/output/dedup.test.d.ts +2 -0
  432. package/dist/output/dedup.test.d.ts.map +1 -0
  433. package/dist/output/dedup.test.js +357 -0
  434. package/dist/output/dedup.test.js.map +1 -0
  435. package/dist/output/github-checks.d.ts +106 -0
  436. package/dist/output/github-checks.d.ts.map +1 -0
  437. package/dist/output/github-checks.js +321 -0
  438. package/dist/output/github-checks.js.map +1 -0
  439. package/dist/output/github-checks.test.d.ts +2 -0
  440. package/dist/output/github-checks.test.d.ts.map +1 -0
  441. package/dist/output/github-checks.test.js +255 -0
  442. package/dist/output/github-checks.test.js.map +1 -0
  443. package/dist/output/github-issues.d.ts +35 -0
  444. package/dist/output/github-issues.d.ts.map +1 -0
  445. package/dist/output/github-issues.js +246 -0
  446. package/dist/output/github-issues.js.map +1 -0
  447. package/dist/output/index.d.ts +6 -0
  448. package/dist/output/index.d.ts.map +1 -0
  449. package/dist/output/index.js +6 -0
  450. package/dist/output/index.js.map +1 -0
  451. package/dist/output/issue-renderer.d.ts +20 -0
  452. package/dist/output/issue-renderer.d.ts.map +1 -0
  453. package/dist/output/issue-renderer.js +154 -0
  454. package/dist/output/issue-renderer.js.map +1 -0
  455. package/dist/output/renderer.d.ts +4 -0
  456. package/dist/output/renderer.d.ts.map +1 -0
  457. package/dist/output/renderer.js +168 -0
  458. package/dist/output/renderer.js.map +1 -0
  459. package/dist/output/renderer.test.d.ts +2 -0
  460. package/dist/output/renderer.test.d.ts.map +1 -0
  461. package/dist/output/renderer.test.js +645 -0
  462. package/dist/output/renderer.test.js.map +1 -0
  463. package/dist/output/stale.d.ts +31 -0
  464. package/dist/output/stale.d.ts.map +1 -0
  465. package/dist/output/stale.js +114 -0
  466. package/dist/output/stale.js.map +1 -0
  467. package/dist/output/stale.test.d.ts +2 -0
  468. package/dist/output/stale.test.d.ts.map +1 -0
  469. package/dist/output/stale.test.js +330 -0
  470. package/dist/output/stale.test.js.map +1 -0
  471. package/dist/output/types.d.ts +31 -0
  472. package/dist/output/types.d.ts.map +1 -0
  473. package/dist/output/types.js +2 -0
  474. package/dist/output/types.js.map +1 -0
  475. package/dist/sdk/index.d.ts +2 -0
  476. package/dist/sdk/index.d.ts.map +1 -0
  477. package/dist/sdk/index.js +2 -0
  478. package/dist/sdk/index.js.map +1 -0
  479. package/dist/sdk/runner.d.ts +202 -0
  480. package/dist/sdk/runner.d.ts.map +1 -0
  481. package/dist/sdk/runner.js +888 -0
  482. package/dist/sdk/runner.js.map +1 -0
  483. package/dist/sdk/runner.test.d.ts +2 -0
  484. package/dist/sdk/runner.test.d.ts.map +1 -0
  485. package/dist/sdk/runner.test.js +677 -0
  486. package/dist/sdk/runner.test.js.map +1 -0
  487. package/dist/skills/index.d.ts +5 -0
  488. package/dist/skills/index.d.ts.map +1 -0
  489. package/dist/skills/index.js +3 -0
  490. package/dist/skills/index.js.map +1 -0
  491. package/dist/skills/loader.d.ts +111 -0
  492. package/dist/skills/loader.d.ts.map +1 -0
  493. package/dist/skills/loader.js +319 -0
  494. package/dist/skills/loader.js.map +1 -0
  495. package/dist/skills/loader.test.d.ts +2 -0
  496. package/dist/skills/loader.test.d.ts.map +1 -0
  497. package/dist/skills/loader.test.js +241 -0
  498. package/dist/skills/loader.test.js.map +1 -0
  499. package/dist/skills/remote.d.ts +117 -0
  500. package/dist/skills/remote.d.ts.map +1 -0
  501. package/dist/skills/remote.js +496 -0
  502. package/dist/skills/remote.js.map +1 -0
  503. package/dist/skills/remote.test.d.ts +2 -0
  504. package/dist/skills/remote.test.d.ts.map +1 -0
  505. package/dist/skills/remote.test.js +582 -0
  506. package/dist/skills/remote.test.js.map +1 -0
  507. package/dist/triggers/matcher.d.ts +30 -0
  508. package/dist/triggers/matcher.d.ts.map +1 -0
  509. package/dist/triggers/matcher.js +122 -0
  510. package/dist/triggers/matcher.js.map +1 -0
  511. package/dist/triggers/matcher.test.d.ts +2 -0
  512. package/dist/triggers/matcher.test.d.ts.map +1 -0
  513. package/dist/triggers/matcher.test.js +234 -0
  514. package/dist/triggers/matcher.test.js.map +1 -0
  515. package/dist/types/index.d.ts +269 -0
  516. package/dist/types/index.d.ts.map +1 -0
  517. package/dist/types/index.js +162 -0
  518. package/dist/types/index.js.map +1 -0
  519. package/dist/utils/async.d.ts +5 -0
  520. package/dist/utils/async.d.ts.map +1 -0
  521. package/dist/utils/async.js +13 -0
  522. package/dist/utils/async.js.map +1 -0
  523. package/dist/utils/index.d.ts +16 -0
  524. package/dist/utils/index.d.ts.map +1 -0
  525. package/dist/utils/index.js +44 -0
  526. package/dist/utils/index.js.map +1 -0
  527. package/dist/utils/index.test.d.ts +2 -0
  528. package/dist/utils/index.test.d.ts.map +1 -0
  529. package/dist/utils/index.test.js +68 -0
  530. package/dist/utils/index.test.js.map +1 -0
  531. package/dist/utils/version.d.ts +3 -0
  532. package/dist/utils/version.d.ts.map +1 -0
  533. package/dist/utils/version.js +16 -0
  534. package/dist/utils/version.js.map +1 -0
  535. package/docs/src/pages/config.astro +2 -1
  536. package/docs/src/pages/guide.astro +2 -1
  537. package/docs/src/utils/version.ts +6 -0
  538. package/package.json +12 -2
  539. package/src/cli/args.ts +2 -3
  540. package/src/cli/commands/init.test.ts +2 -1
  541. package/src/cli/commands/init.ts +3 -1
  542. package/src/cli/output/reporter.ts +3 -4
  543. package/src/utils/index.ts +1 -0
  544. package/src/utils/version.ts +17 -0
  545. package/.claude/settings.local.json +0 -88
  546. package/docs/.claude/settings.local.json +0 -11
@@ -0,0 +1,122 @@
1
+ import { SEVERITY_ORDER } from '../types/index.js';
2
+ /** Maximum number of patterns to cache (LRU eviction when exceeded) */
3
+ const GLOB_CACHE_MAX_SIZE = 1000;
4
+ /** Cache for compiled glob patterns with LRU eviction */
5
+ const globCache = new Map();
6
+ /** Clear the glob cache (useful for testing) */
7
+ export function clearGlobCache() {
8
+ globCache.clear();
9
+ }
10
+ /** Get current cache size (useful for testing) */
11
+ export function getGlobCacheSize() {
12
+ return globCache.size;
13
+ }
14
+ /**
15
+ * Convert a glob pattern to a regex (cached with LRU eviction).
16
+ */
17
+ function globToRegex(pattern) {
18
+ const cached = globCache.get(pattern);
19
+ if (cached) {
20
+ // Move to end for LRU ordering (delete and re-add)
21
+ globCache.delete(pattern);
22
+ globCache.set(pattern, cached);
23
+ return cached;
24
+ }
25
+ // Use placeholders to avoid replacement conflicts
26
+ let regexPattern = pattern
27
+ // First, replace glob patterns with placeholders
28
+ .replace(/\*\*\//g, '\0GLOBSTAR_SLASH\0')
29
+ .replace(/\*\*/g, '\0GLOBSTAR\0')
30
+ .replace(/\*/g, '\0STAR\0')
31
+ .replace(/\?/g, '\0QUESTION\0');
32
+ // Escape regex special characters
33
+ regexPattern = regexPattern.replace(/[.+^${}()|[\]\\]/g, '\\$&');
34
+ // Replace placeholders with regex patterns
35
+ regexPattern = regexPattern
36
+ .replace(/\0GLOBSTAR_SLASH\0/g, '(?:.*/)?') // **/ matches zero or more directories
37
+ .replace(/\0GLOBSTAR\0/g, '.*') // ** matches anything
38
+ .replace(/\0STAR\0/g, '[^/]*') // * matches anything except /
39
+ .replace(/\0QUESTION\0/g, '[^/]'); // ? matches single char except /
40
+ const regex = new RegExp(`^${regexPattern}$`);
41
+ // Evict oldest entry if cache is full
42
+ if (globCache.size >= GLOB_CACHE_MAX_SIZE) {
43
+ const oldestKey = globCache.keys().next().value;
44
+ if (oldestKey !== undefined) {
45
+ globCache.delete(oldestKey);
46
+ }
47
+ }
48
+ globCache.set(pattern, regex);
49
+ return regex;
50
+ }
51
+ /**
52
+ * Match a glob pattern against a file path.
53
+ * Supports ** for recursive matching and * for single directory matching.
54
+ */
55
+ export function matchGlob(pattern, path) {
56
+ return globToRegex(pattern).test(path);
57
+ }
58
+ /**
59
+ * Check if a trigger matches the given event context.
60
+ */
61
+ export function matchTrigger(trigger, context) {
62
+ if (trigger.event !== context.eventType) {
63
+ return false;
64
+ }
65
+ // Schedule events don't have actions - they match based on whether
66
+ // any files match the paths filter (context was already built with matching files)
67
+ if (trigger.event === 'schedule') {
68
+ return (context.pullRequest?.files.length ?? 0) > 0;
69
+ }
70
+ // For non-schedule events, actions must match
71
+ if (!trigger.actions?.includes(context.action)) {
72
+ return false;
73
+ }
74
+ const filenames = context.pullRequest?.files.map((f) => f.filename);
75
+ const pathPatterns = trigger.filters?.paths;
76
+ const ignorePatterns = trigger.filters?.ignorePaths;
77
+ // Fail trigger match when path filters are defined but filenames unavailable
78
+ // This prevents filters from being silently bypassed on API failures
79
+ if ((pathPatterns || ignorePatterns) && (!filenames || filenames.length === 0)) {
80
+ return false;
81
+ }
82
+ if (pathPatterns && filenames) {
83
+ const hasMatch = filenames.some((file) => pathPatterns.some((pattern) => matchGlob(pattern, file)));
84
+ if (!hasMatch) {
85
+ return false;
86
+ }
87
+ }
88
+ if (ignorePatterns && filenames) {
89
+ const allIgnored = filenames.every((file) => ignorePatterns.some((pattern) => matchGlob(pattern, file)));
90
+ if (allIgnored) {
91
+ return false;
92
+ }
93
+ }
94
+ return true;
95
+ }
96
+ /**
97
+ * Check if a report has any findings at or above the given severity threshold.
98
+ * Returns false if failOn is 'off' (disabled).
99
+ */
100
+ export function shouldFail(report, failOn) {
101
+ if (failOn === 'off')
102
+ return false;
103
+ const threshold = SEVERITY_ORDER[failOn];
104
+ return report.findings.some((f) => SEVERITY_ORDER[f.severity] <= threshold);
105
+ }
106
+ /**
107
+ * Count findings at or above the given severity threshold.
108
+ * Returns 0 if failOn is 'off' (disabled).
109
+ */
110
+ export function countFindingsAtOrAbove(report, failOn) {
111
+ if (failOn === 'off')
112
+ return 0;
113
+ const threshold = SEVERITY_ORDER[failOn];
114
+ return report.findings.filter((f) => SEVERITY_ORDER[f.severity] <= threshold).length;
115
+ }
116
+ /**
117
+ * Count findings of a specific severity across multiple reports.
118
+ */
119
+ export function countSeverity(reports, severity) {
120
+ return reports.reduce((count, report) => count + report.findings.filter((f) => f.severity === severity).length, 0);
121
+ }
122
+ //# sourceMappingURL=matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/triggers/matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=matcher.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.test.d.ts","sourceRoot":"","sources":["../../src/triggers/matcher.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,234 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import { matchGlob, matchTrigger, shouldFail, countFindingsAtOrAbove, countSeverity, clearGlobCache, getGlobCacheSize, } from './matcher.js';
3
+ import { SEVERITY_ORDER } from '../types/index.js';
4
+ /** Test helper to create a SkillReport with given severities */
5
+ function makeReport(severities) {
6
+ return {
7
+ skill: 'test',
8
+ summary: 'Test report',
9
+ findings: severities.map((s, i) => ({
10
+ id: `finding-${i}`,
11
+ severity: s,
12
+ title: `Finding ${i}`,
13
+ description: 'Test finding',
14
+ })),
15
+ };
16
+ }
17
+ describe('matchGlob', () => {
18
+ beforeEach(() => {
19
+ clearGlobCache();
20
+ });
21
+ it('matches exact paths', () => {
22
+ expect(matchGlob('src/index.ts', 'src/index.ts')).toBe(true);
23
+ expect(matchGlob('src/index.ts', 'src/other.ts')).toBe(false);
24
+ });
25
+ it('matches single wildcard', () => {
26
+ expect(matchGlob('src/*.ts', 'src/index.ts')).toBe(true);
27
+ expect(matchGlob('src/*.ts', 'src/foo/index.ts')).toBe(false);
28
+ expect(matchGlob('*.ts', 'index.ts')).toBe(true);
29
+ });
30
+ it('matches double wildcard (globstar)', () => {
31
+ expect(matchGlob('src/**/*.ts', 'src/index.ts')).toBe(true);
32
+ expect(matchGlob('src/**/*.ts', 'src/foo/index.ts')).toBe(true);
33
+ expect(matchGlob('src/**/*.ts', 'src/foo/bar/index.ts')).toBe(true);
34
+ expect(matchGlob('**/*.ts', 'src/index.ts')).toBe(true);
35
+ });
36
+ it('matches question mark wildcard', () => {
37
+ expect(matchGlob('src/?.ts', 'src/a.ts')).toBe(true);
38
+ expect(matchGlob('src/?.ts', 'src/ab.ts')).toBe(false);
39
+ });
40
+ it('caches compiled patterns', () => {
41
+ matchGlob('src/*.ts', 'src/index.ts');
42
+ expect(getGlobCacheSize()).toBe(1);
43
+ // Same pattern should not increase cache size
44
+ matchGlob('src/*.ts', 'src/other.ts');
45
+ expect(getGlobCacheSize()).toBe(1);
46
+ // Different pattern should increase cache size
47
+ matchGlob('lib/*.js', 'lib/index.js');
48
+ expect(getGlobCacheSize()).toBe(2);
49
+ });
50
+ it('evicts oldest entry when cache exceeds max size', () => {
51
+ // Fill cache with 1000 patterns
52
+ for (let i = 0; i < 1000; i++) {
53
+ matchGlob(`pattern${i}/*.ts`, `pattern${i}/file.ts`);
54
+ }
55
+ expect(getGlobCacheSize()).toBe(1000);
56
+ // Adding one more should evict the oldest
57
+ matchGlob('newpattern/*.ts', 'newpattern/file.ts');
58
+ expect(getGlobCacheSize()).toBe(1000);
59
+ // The first pattern should be evicted (cache miss will re-add it)
60
+ // We can verify this by checking the cache size doesn't increase
61
+ // when we add it back
62
+ const sizeBefore = getGlobCacheSize();
63
+ matchGlob('pattern0/*.ts', 'pattern0/file.ts');
64
+ expect(getGlobCacheSize()).toBe(sizeBefore);
65
+ });
66
+ it('maintains LRU order by refreshing accessed entries', () => {
67
+ // Add patterns 0, 1, 2
68
+ matchGlob('pattern0/*.ts', 'pattern0/file.ts');
69
+ matchGlob('pattern1/*.ts', 'pattern1/file.ts');
70
+ matchGlob('pattern2/*.ts', 'pattern2/file.ts');
71
+ // Access pattern0 to make it most recently used
72
+ matchGlob('pattern0/*.ts', 'pattern0/file.ts');
73
+ // Fill cache to max (997 more patterns needed to reach 1000)
74
+ for (let i = 3; i < 1000; i++) {
75
+ matchGlob(`pattern${i}/*.ts`, `pattern${i}/file.ts`);
76
+ }
77
+ expect(getGlobCacheSize()).toBe(1000);
78
+ // Add one more - should evict pattern1 (oldest not-accessed)
79
+ matchGlob('newpattern/*.ts', 'newpattern/file.ts');
80
+ expect(getGlobCacheSize()).toBe(1000);
81
+ });
82
+ });
83
+ describe('matchTrigger', () => {
84
+ const baseContext = {
85
+ eventType: 'pull_request',
86
+ action: 'opened',
87
+ repository: {
88
+ owner: 'test',
89
+ name: 'repo',
90
+ fullName: 'test/repo',
91
+ defaultBranch: 'main',
92
+ },
93
+ pullRequest: {
94
+ number: 1,
95
+ title: 'Test PR',
96
+ body: 'Test body',
97
+ author: 'user',
98
+ baseBranch: 'main',
99
+ headBranch: 'feature',
100
+ headSha: 'abc123',
101
+ files: [
102
+ { filename: 'src/index.ts', status: 'modified', additions: 10, deletions: 5 },
103
+ { filename: 'README.md', status: 'modified', additions: 2, deletions: 0 },
104
+ ],
105
+ },
106
+ repoPath: '/test/repo',
107
+ };
108
+ const baseTrigger = {
109
+ name: 'test-trigger',
110
+ event: 'pull_request',
111
+ actions: ['opened', 'synchronize'],
112
+ skill: 'test-skill',
113
+ };
114
+ it('matches when event and action match', () => {
115
+ expect(matchTrigger(baseTrigger, baseContext)).toBe(true);
116
+ });
117
+ it('does not match wrong event type', () => {
118
+ const trigger = { ...baseTrigger, event: 'issues' };
119
+ expect(matchTrigger(trigger, baseContext)).toBe(false);
120
+ });
121
+ it('does not match wrong action', () => {
122
+ const trigger = { ...baseTrigger, actions: ['closed'] };
123
+ expect(matchTrigger(trigger, baseContext)).toBe(false);
124
+ });
125
+ it('matches with path filter', () => {
126
+ const trigger = { ...baseTrigger, filters: { paths: ['src/**/*.ts'] } };
127
+ expect(matchTrigger(trigger, baseContext)).toBe(true);
128
+ });
129
+ it('does not match when no files match path filter', () => {
130
+ const trigger = { ...baseTrigger, filters: { paths: ['lib/**/*.ts'] } };
131
+ expect(matchTrigger(trigger, baseContext)).toBe(false);
132
+ });
133
+ it('ignores files matching ignorePaths', () => {
134
+ const context = {
135
+ ...baseContext,
136
+ pullRequest: {
137
+ ...baseContext.pullRequest,
138
+ files: [{ filename: 'README.md', status: 'modified', additions: 1, deletions: 0 }],
139
+ },
140
+ };
141
+ const trigger = { ...baseTrigger, filters: { ignorePaths: ['*.md'] } };
142
+ expect(matchTrigger(trigger, context)).toBe(false);
143
+ });
144
+ it('fails when path filters defined but filenames undefined', () => {
145
+ const context = {
146
+ ...baseContext,
147
+ pullRequest: undefined,
148
+ };
149
+ const trigger = { ...baseTrigger, filters: { paths: ['src/**/*.ts'] } };
150
+ expect(matchTrigger(trigger, context)).toBe(false);
151
+ });
152
+ it('fails when ignorePaths defined but filenames undefined', () => {
153
+ const context = {
154
+ ...baseContext,
155
+ pullRequest: undefined,
156
+ };
157
+ const trigger = { ...baseTrigger, filters: { ignorePaths: ['*.md'] } };
158
+ expect(matchTrigger(trigger, context)).toBe(false);
159
+ });
160
+ it('fails when path filters defined but files array empty', () => {
161
+ const context = {
162
+ ...baseContext,
163
+ pullRequest: {
164
+ ...baseContext.pullRequest,
165
+ files: [],
166
+ },
167
+ };
168
+ const trigger = { ...baseTrigger, filters: { paths: ['src/**/*.ts'] } };
169
+ expect(matchTrigger(trigger, context)).toBe(false);
170
+ });
171
+ it('matches when no filters defined and filenames unavailable', () => {
172
+ const context = {
173
+ ...baseContext,
174
+ pullRequest: undefined,
175
+ };
176
+ expect(matchTrigger(baseTrigger, context)).toBe(true);
177
+ });
178
+ });
179
+ describe('shouldFail', () => {
180
+ it('returns true when findings meet threshold', () => {
181
+ expect(shouldFail(makeReport(['high']), 'high')).toBe(true);
182
+ expect(shouldFail(makeReport(['critical']), 'high')).toBe(true);
183
+ expect(shouldFail(makeReport(['medium']), 'medium')).toBe(true);
184
+ });
185
+ it('returns false when findings below threshold', () => {
186
+ expect(shouldFail(makeReport(['low']), 'high')).toBe(false);
187
+ expect(shouldFail(makeReport(['info']), 'medium')).toBe(false);
188
+ expect(shouldFail(makeReport([]), 'info')).toBe(false);
189
+ });
190
+ });
191
+ describe('countFindingsAtOrAbove', () => {
192
+ it('counts findings at or above threshold', () => {
193
+ const report = makeReport(['critical', 'high', 'medium', 'low', 'info']);
194
+ expect(countFindingsAtOrAbove(report, 'critical')).toBe(1);
195
+ expect(countFindingsAtOrAbove(report, 'high')).toBe(2);
196
+ expect(countFindingsAtOrAbove(report, 'medium')).toBe(3);
197
+ expect(countFindingsAtOrAbove(report, 'low')).toBe(4);
198
+ expect(countFindingsAtOrAbove(report, 'info')).toBe(5);
199
+ });
200
+ });
201
+ describe('countSeverity', () => {
202
+ it('counts findings of specific severity across reports', () => {
203
+ const reports = [
204
+ {
205
+ skill: 'test1',
206
+ summary: 'Test',
207
+ findings: [
208
+ { id: '1', severity: 'high', title: 'High 1', description: 'desc' },
209
+ { id: '2', severity: 'medium', title: 'Medium 1', description: 'desc' },
210
+ ],
211
+ },
212
+ {
213
+ skill: 'test2',
214
+ summary: 'Test',
215
+ findings: [
216
+ { id: '3', severity: 'high', title: 'High 2', description: 'desc' },
217
+ { id: '4', severity: 'high', title: 'High 3', description: 'desc' },
218
+ ],
219
+ },
220
+ ];
221
+ expect(countSeverity(reports, 'high')).toBe(3);
222
+ expect(countSeverity(reports, 'medium')).toBe(1);
223
+ expect(countSeverity(reports, 'low')).toBe(0);
224
+ });
225
+ });
226
+ describe('SEVERITY_ORDER', () => {
227
+ it('has correct ordering (lower = more severe)', () => {
228
+ expect(SEVERITY_ORDER.critical).toBeLessThan(SEVERITY_ORDER.high);
229
+ expect(SEVERITY_ORDER.high).toBeLessThan(SEVERITY_ORDER.medium);
230
+ expect(SEVERITY_ORDER.medium).toBeLessThan(SEVERITY_ORDER.low);
231
+ expect(SEVERITY_ORDER.low).toBeLessThan(SEVERITY_ORDER.info);
232
+ });
233
+ });
234
+ //# sourceMappingURL=matcher.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.test.js","sourceRoot":"","sources":["../../src/triggers/matcher.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ import { z } from 'zod';
2
+ export declare const SeveritySchema: z.ZodEnum<{
3
+ critical: "critical";
4
+ high: "high";
5
+ medium: "medium";
6
+ low: "low";
7
+ info: "info";
8
+ }>;
9
+ export type Severity = z.infer<typeof SeveritySchema>;
10
+ export declare const ConfidenceSchema: z.ZodEnum<{
11
+ high: "high";
12
+ medium: "medium";
13
+ low: "low";
14
+ }>;
15
+ export type Confidence = z.infer<typeof ConfidenceSchema>;
16
+ /**
17
+ * Confidence order for comparison (lower = more confident).
18
+ * Single source of truth for confidence ordering across the codebase.
19
+ */
20
+ export declare const CONFIDENCE_ORDER: Record<Confidence, number>;
21
+ export declare const SeverityThresholdSchema: z.ZodEnum<{
22
+ critical: "critical";
23
+ high: "high";
24
+ medium: "medium";
25
+ low: "low";
26
+ info: "info";
27
+ off: "off";
28
+ }>;
29
+ export type SeverityThreshold = z.infer<typeof SeverityThresholdSchema>;
30
+ /**
31
+ * Severity order for comparison (lower = more severe).
32
+ * Single source of truth for severity ordering across the codebase.
33
+ */
34
+ export declare const SEVERITY_ORDER: Record<Severity, number>;
35
+ /**
36
+ * Filter findings to only include those at or above the given severity threshold.
37
+ * If no threshold is provided, returns all findings unchanged.
38
+ * If threshold is 'off', returns empty array (disabled).
39
+ */
40
+ export declare function filterFindingsBySeverity(findings: Finding[], threshold?: SeverityThreshold): Finding[];
41
+ export declare const LocationSchema: z.ZodObject<{
42
+ path: z.ZodString;
43
+ startLine: z.ZodNumber;
44
+ endLine: z.ZodOptional<z.ZodNumber>;
45
+ }, z.core.$strip>;
46
+ export type Location = z.infer<typeof LocationSchema>;
47
+ export declare const SuggestedFixSchema: z.ZodObject<{
48
+ description: z.ZodString;
49
+ diff: z.ZodString;
50
+ }, z.core.$strip>;
51
+ export type SuggestedFix = z.infer<typeof SuggestedFixSchema>;
52
+ export declare const FindingSchema: z.ZodObject<{
53
+ id: z.ZodString;
54
+ severity: z.ZodEnum<{
55
+ critical: "critical";
56
+ high: "high";
57
+ medium: "medium";
58
+ low: "low";
59
+ info: "info";
60
+ }>;
61
+ confidence: z.ZodOptional<z.ZodEnum<{
62
+ high: "high";
63
+ medium: "medium";
64
+ low: "low";
65
+ }>>;
66
+ title: z.ZodString;
67
+ description: z.ZodString;
68
+ location: z.ZodOptional<z.ZodObject<{
69
+ path: z.ZodString;
70
+ startLine: z.ZodNumber;
71
+ endLine: z.ZodOptional<z.ZodNumber>;
72
+ }, z.core.$strip>>;
73
+ suggestedFix: z.ZodOptional<z.ZodObject<{
74
+ description: z.ZodString;
75
+ diff: z.ZodString;
76
+ }, z.core.$strip>>;
77
+ elapsedMs: z.ZodOptional<z.ZodNumber>;
78
+ }, z.core.$strip>;
79
+ export type Finding = z.infer<typeof FindingSchema>;
80
+ export declare const UsageStatsSchema: z.ZodObject<{
81
+ inputTokens: z.ZodNumber;
82
+ outputTokens: z.ZodNumber;
83
+ cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
84
+ cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
85
+ costUSD: z.ZodNumber;
86
+ }, z.core.$strip>;
87
+ export type UsageStats = z.infer<typeof UsageStatsSchema>;
88
+ export declare const SkippedFileSchema: z.ZodObject<{
89
+ filename: z.ZodString;
90
+ reason: z.ZodEnum<{
91
+ pattern: "pattern";
92
+ builtin: "builtin";
93
+ }>;
94
+ pattern: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>;
96
+ export type SkippedFile = z.infer<typeof SkippedFileSchema>;
97
+ export declare const SkillReportSchema: z.ZodObject<{
98
+ skill: z.ZodString;
99
+ summary: z.ZodString;
100
+ findings: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodString;
102
+ severity: z.ZodEnum<{
103
+ critical: "critical";
104
+ high: "high";
105
+ medium: "medium";
106
+ low: "low";
107
+ info: "info";
108
+ }>;
109
+ confidence: z.ZodOptional<z.ZodEnum<{
110
+ high: "high";
111
+ medium: "medium";
112
+ low: "low";
113
+ }>>;
114
+ title: z.ZodString;
115
+ description: z.ZodString;
116
+ location: z.ZodOptional<z.ZodObject<{
117
+ path: z.ZodString;
118
+ startLine: z.ZodNumber;
119
+ endLine: z.ZodOptional<z.ZodNumber>;
120
+ }, z.core.$strip>>;
121
+ suggestedFix: z.ZodOptional<z.ZodObject<{
122
+ description: z.ZodString;
123
+ diff: z.ZodString;
124
+ }, z.core.$strip>>;
125
+ elapsedMs: z.ZodOptional<z.ZodNumber>;
126
+ }, z.core.$strip>>;
127
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
128
+ durationMs: z.ZodOptional<z.ZodNumber>;
129
+ usage: z.ZodOptional<z.ZodObject<{
130
+ inputTokens: z.ZodNumber;
131
+ outputTokens: z.ZodNumber;
132
+ cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
133
+ cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
134
+ costUSD: z.ZodNumber;
135
+ }, z.core.$strip>>;
136
+ skippedFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
137
+ filename: z.ZodString;
138
+ reason: z.ZodEnum<{
139
+ pattern: "pattern";
140
+ builtin: "builtin";
141
+ }>;
142
+ pattern: z.ZodOptional<z.ZodString>;
143
+ }, z.core.$strip>>>;
144
+ failedHunks: z.ZodOptional<z.ZodNumber>;
145
+ }, z.core.$strip>;
146
+ export type SkillReport = z.infer<typeof SkillReportSchema>;
147
+ export declare const GitHubEventTypeSchema: z.ZodEnum<{
148
+ pull_request: "pull_request";
149
+ issues: "issues";
150
+ issue_comment: "issue_comment";
151
+ pull_request_review: "pull_request_review";
152
+ pull_request_review_comment: "pull_request_review_comment";
153
+ schedule: "schedule";
154
+ }>;
155
+ export type GitHubEventType = z.infer<typeof GitHubEventTypeSchema>;
156
+ export declare const PullRequestActionSchema: z.ZodEnum<{
157
+ opened: "opened";
158
+ synchronize: "synchronize";
159
+ reopened: "reopened";
160
+ closed: "closed";
161
+ }>;
162
+ export type PullRequestAction = z.infer<typeof PullRequestActionSchema>;
163
+ export declare const FileChangeSchema: z.ZodObject<{
164
+ filename: z.ZodString;
165
+ status: z.ZodEnum<{
166
+ added: "added";
167
+ removed: "removed";
168
+ modified: "modified";
169
+ renamed: "renamed";
170
+ copied: "copied";
171
+ changed: "changed";
172
+ unchanged: "unchanged";
173
+ }>;
174
+ additions: z.ZodNumber;
175
+ deletions: z.ZodNumber;
176
+ patch: z.ZodOptional<z.ZodString>;
177
+ chunks: z.ZodOptional<z.ZodNumber>;
178
+ }, z.core.$strip>;
179
+ export type FileChange = z.infer<typeof FileChangeSchema>;
180
+ /**
181
+ * Count the number of chunks/hunks in a patch string.
182
+ * Each chunk starts with @@ -X,Y +A,B @@
183
+ */
184
+ export declare function countPatchChunks(patch: string | undefined): number;
185
+ export declare const PullRequestContextSchema: z.ZodObject<{
186
+ number: z.ZodNumber;
187
+ title: z.ZodString;
188
+ body: z.ZodNullable<z.ZodString>;
189
+ author: z.ZodString;
190
+ baseBranch: z.ZodString;
191
+ headBranch: z.ZodString;
192
+ headSha: z.ZodString;
193
+ files: z.ZodArray<z.ZodObject<{
194
+ filename: z.ZodString;
195
+ status: z.ZodEnum<{
196
+ added: "added";
197
+ removed: "removed";
198
+ modified: "modified";
199
+ renamed: "renamed";
200
+ copied: "copied";
201
+ changed: "changed";
202
+ unchanged: "unchanged";
203
+ }>;
204
+ additions: z.ZodNumber;
205
+ deletions: z.ZodNumber;
206
+ patch: z.ZodOptional<z.ZodString>;
207
+ chunks: z.ZodOptional<z.ZodNumber>;
208
+ }, z.core.$strip>>;
209
+ }, z.core.$strip>;
210
+ export type PullRequestContext = z.infer<typeof PullRequestContextSchema>;
211
+ export declare const RepositoryContextSchema: z.ZodObject<{
212
+ owner: z.ZodString;
213
+ name: z.ZodString;
214
+ fullName: z.ZodString;
215
+ defaultBranch: z.ZodString;
216
+ }, z.core.$strip>;
217
+ export type RepositoryContext = z.infer<typeof RepositoryContextSchema>;
218
+ export declare const EventContextSchema: z.ZodObject<{
219
+ eventType: z.ZodEnum<{
220
+ pull_request: "pull_request";
221
+ issues: "issues";
222
+ issue_comment: "issue_comment";
223
+ pull_request_review: "pull_request_review";
224
+ pull_request_review_comment: "pull_request_review_comment";
225
+ schedule: "schedule";
226
+ }>;
227
+ action: z.ZodString;
228
+ repository: z.ZodObject<{
229
+ owner: z.ZodString;
230
+ name: z.ZodString;
231
+ fullName: z.ZodString;
232
+ defaultBranch: z.ZodString;
233
+ }, z.core.$strip>;
234
+ pullRequest: z.ZodOptional<z.ZodObject<{
235
+ number: z.ZodNumber;
236
+ title: z.ZodString;
237
+ body: z.ZodNullable<z.ZodString>;
238
+ author: z.ZodString;
239
+ baseBranch: z.ZodString;
240
+ headBranch: z.ZodString;
241
+ headSha: z.ZodString;
242
+ files: z.ZodArray<z.ZodObject<{
243
+ filename: z.ZodString;
244
+ status: z.ZodEnum<{
245
+ added: "added";
246
+ removed: "removed";
247
+ modified: "modified";
248
+ renamed: "renamed";
249
+ copied: "copied";
250
+ changed: "changed";
251
+ unchanged: "unchanged";
252
+ }>;
253
+ additions: z.ZodNumber;
254
+ deletions: z.ZodNumber;
255
+ patch: z.ZodOptional<z.ZodString>;
256
+ chunks: z.ZodOptional<z.ZodNumber>;
257
+ }, z.core.$strip>>;
258
+ }, z.core.$strip>>;
259
+ repoPath: z.ZodString;
260
+ }, z.core.$strip>;
261
+ export type EventContext = z.infer<typeof EventContextSchema>;
262
+ export declare const RetryConfigSchema: z.ZodObject<{
263
+ maxRetries: z.ZodDefault<z.ZodNumber>;
264
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
265
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
266
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
267
+ }, z.core.$strip>;
268
+ export type RetryConfig = z.infer<typeof RetryConfigSchema>;
269
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}