@sentry/warden 0.1.1 → 0.3.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 (589) hide show
  1. package/dist/cli/commands/init.d.ts.map +1 -1
  2. package/dist/cli/commands/init.js +36 -2
  3. package/dist/cli/commands/init.js.map +1 -1
  4. package/dist/cli/commands/setup-app/manifest.d.ts.map +1 -1
  5. package/dist/cli/commands/setup-app/manifest.js +3 -1
  6. package/dist/cli/commands/setup-app/manifest.js.map +1 -1
  7. package/dist/cli/commands/setup-app.js +1 -1
  8. package/dist/cli/commands/setup-app.js.map +1 -1
  9. package/dist/cli/diff-apply.d.ts +15 -0
  10. package/dist/cli/diff-apply.d.ts.map +1 -0
  11. package/dist/cli/diff-apply.js +69 -0
  12. package/dist/cli/diff-apply.js.map +1 -0
  13. package/dist/cli/files.d.ts +11 -1
  14. package/dist/cli/files.d.ts.map +1 -1
  15. package/dist/cli/files.js +145 -4
  16. package/dist/cli/files.js.map +1 -1
  17. package/dist/cli/fix.d.ts +1 -5
  18. package/dist/cli/fix.d.ts.map +1 -1
  19. package/dist/cli/fix.js +3 -62
  20. package/dist/cli/fix.js.map +1 -1
  21. package/dist/cli/git.d.ts.map +1 -1
  22. package/dist/cli/git.js +5 -9
  23. package/dist/cli/git.js.map +1 -1
  24. package/dist/cli/index.js +0 -0
  25. package/dist/cli/output/tasks.d.ts.map +1 -1
  26. package/dist/cli/output/tasks.js +5 -1
  27. package/dist/cli/output/tasks.js.map +1 -1
  28. package/dist/config/schema.d.ts.map +1 -1
  29. package/dist/config/schema.js +15 -1
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/diff/coalesce.d.ts +32 -2
  32. package/dist/diff/coalesce.d.ts.map +1 -1
  33. package/dist/diff/coalesce.js +174 -2
  34. package/dist/diff/coalesce.js.map +1 -1
  35. package/dist/output/dedup.d.ts +7 -4
  36. package/dist/output/dedup.d.ts.map +1 -1
  37. package/dist/output/dedup.js +48 -12
  38. package/dist/output/dedup.js.map +1 -1
  39. package/dist/output/renderer.d.ts.map +1 -1
  40. package/dist/output/renderer.js +52 -7
  41. package/dist/output/renderer.js.map +1 -1
  42. package/dist/output/stale.d.ts.map +1 -1
  43. package/dist/output/stale.js +7 -0
  44. package/dist/output/stale.js.map +1 -1
  45. package/dist/output/types.d.ts +15 -1
  46. package/dist/output/types.d.ts.map +1 -1
  47. package/dist/sdk/analyze.d.ts +18 -0
  48. package/dist/sdk/analyze.d.ts.map +1 -0
  49. package/dist/sdk/analyze.js +421 -0
  50. package/dist/sdk/analyze.js.map +1 -0
  51. package/dist/sdk/errors.d.ts +23 -0
  52. package/dist/sdk/errors.d.ts.map +1 -0
  53. package/dist/sdk/errors.js +74 -0
  54. package/dist/sdk/errors.js.map +1 -0
  55. package/dist/sdk/extract.d.ts +44 -0
  56. package/dist/sdk/extract.d.ts.map +1 -0
  57. package/dist/sdk/extract.js +224 -0
  58. package/dist/sdk/extract.js.map +1 -0
  59. package/dist/sdk/prepare.d.ts +13 -0
  60. package/dist/sdk/prepare.d.ts.map +1 -0
  61. package/dist/sdk/prepare.js +73 -0
  62. package/dist/sdk/prepare.js.map +1 -0
  63. package/dist/sdk/prompt.d.ts +30 -0
  64. package/dist/sdk/prompt.d.ts.map +1 -0
  65. package/dist/sdk/prompt.js +109 -0
  66. package/dist/sdk/prompt.js.map +1 -0
  67. package/dist/sdk/retry.d.ts +12 -0
  68. package/dist/sdk/retry.d.ts.map +1 -0
  69. package/dist/sdk/retry.js +31 -0
  70. package/dist/sdk/retry.js.map +1 -0
  71. package/dist/sdk/runner.d.ts +22 -199
  72. package/dist/sdk/runner.d.ts.map +1 -1
  73. package/dist/sdk/runner.js +26 -884
  74. package/dist/sdk/runner.js.map +1 -1
  75. package/dist/sdk/types.d.ts +127 -0
  76. package/dist/sdk/types.d.ts.map +1 -0
  77. package/dist/sdk/types.js +5 -0
  78. package/dist/sdk/types.js.map +1 -0
  79. package/dist/sdk/usage.d.ts +20 -0
  80. package/dist/sdk/usage.d.ts.map +1 -0
  81. package/dist/sdk/usage.js +44 -0
  82. package/dist/sdk/usage.js.map +1 -0
  83. package/dist/skills/remote.d.ts.map +1 -1
  84. package/dist/skills/remote.js +3 -7
  85. package/dist/skills/remote.js.map +1 -1
  86. package/dist/types/index.d.ts +1 -0
  87. package/dist/types/index.d.ts.map +1 -1
  88. package/dist/types/index.js +2 -0
  89. package/dist/types/index.js.map +1 -1
  90. package/dist/utils/exec.d.ts +61 -0
  91. package/dist/utils/exec.d.ts.map +1 -0
  92. package/dist/utils/exec.js +111 -0
  93. package/dist/utils/exec.js.map +1 -0
  94. package/dist/utils/index.d.ts +2 -0
  95. package/dist/utils/index.d.ts.map +1 -1
  96. package/dist/utils/index.js +1 -0
  97. package/dist/utils/index.js.map +1 -1
  98. package/package.json +15 -16
  99. package/.agents/skills/find-bugs/SKILL.md +0 -75
  100. package/.agents/skills/vercel-react-best-practices/AGENTS.md +0 -2934
  101. package/.agents/skills/vercel-react-best-practices/SKILL.md +0 -136
  102. package/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  103. package/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  104. package/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  105. package/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  106. package/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
  107. package/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  108. package/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  109. package/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  110. package/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
  111. package/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  112. package/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  113. package/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  114. package/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  115. package/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  116. package/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  117. package/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  118. package/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  119. package/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  120. package/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  121. package/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  122. package/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  123. package/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  124. package/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  125. package/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  126. package/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  127. package/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  128. package/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  129. package/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  130. package/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  131. package/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  132. package/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  133. package/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  134. package/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  135. package/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  136. package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  137. package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  138. package/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  139. package/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  140. package/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  141. package/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  142. package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  143. package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  144. package/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  145. package/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  146. package/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  147. package/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  148. package/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  149. package/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  150. package/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  151. package/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  152. package/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  153. package/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  154. package/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  155. package/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  156. package/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  157. package/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  158. package/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  159. package/.claude/settings.json +0 -57
  160. package/.claude/skills/agent-prompt/SKILL.md +0 -54
  161. package/.claude/skills/agent-prompt/references/agentic-patterns.md +0 -94
  162. package/.claude/skills/agent-prompt/references/anti-patterns.md +0 -140
  163. package/.claude/skills/agent-prompt/references/context-design.md +0 -124
  164. package/.claude/skills/agent-prompt/references/core-principles.md +0 -75
  165. package/.claude/skills/agent-prompt/references/model-guidance.md +0 -118
  166. package/.claude/skills/agent-prompt/references/output-formats.md +0 -98
  167. package/.claude/skills/agent-prompt/references/skill-structure.md +0 -115
  168. package/.claude/skills/agent-prompt/references/system-prompts.md +0 -115
  169. package/.claude/skills/notseer/SKILL.md +0 -131
  170. package/.claude/skills/skill-writer/SKILL.md +0 -140
  171. package/.claude/skills/testing-guidelines/SKILL.md +0 -132
  172. package/.claude/skills/warden-skill/SKILL.md +0 -226
  173. package/.claude/skills/warden-skill/references/config-schema.md +0 -116
  174. package/.dex/config.toml +0 -2
  175. package/.github/workflows/ci.yml +0 -33
  176. package/.github/workflows/release.yml +0 -59
  177. package/.github/workflows/warden.yml +0 -40
  178. package/AGENTS.md +0 -89
  179. package/CONTRIBUTING.md +0 -60
  180. package/SPEC.md +0 -263
  181. package/action.yml +0 -87
  182. package/assets/favicon.png +0 -0
  183. package/assets/warden-icon-bw.svg +0 -5
  184. package/assets/warden-icon-purple.png +0 -0
  185. package/assets/warden-icon-purple.svg +0 -5
  186. package/dist/action/159.index.js +0 -523
  187. package/dist/action/159.index.js.map +0 -1
  188. package/dist/action/action/index.d.ts +0 -2
  189. package/dist/action/action/index.d.ts.map +0 -1
  190. package/dist/action/action/main.d.ts +0 -2
  191. package/dist/action/action/main.d.ts.map +0 -1
  192. package/dist/action/cli/args.d.ts +0 -74
  193. package/dist/action/cli/args.d.ts.map +0 -1
  194. package/dist/action/cli/args.test.d.ts +0 -2
  195. package/dist/action/cli/args.test.d.ts.map +0 -1
  196. package/dist/action/cli/commands/add.d.ts +0 -7
  197. package/dist/action/cli/commands/add.d.ts.map +0 -1
  198. package/dist/action/cli/commands/init.d.ts +0 -10
  199. package/dist/action/cli/commands/init.d.ts.map +0 -1
  200. package/dist/action/cli/commands/init.test.d.ts +0 -2
  201. package/dist/action/cli/commands/init.test.d.ts.map +0 -1
  202. package/dist/action/cli/commands/setup-app/browser.d.ts +0 -9
  203. package/dist/action/cli/commands/setup-app/browser.d.ts.map +0 -1
  204. package/dist/action/cli/commands/setup-app/credentials.d.ts +0 -15
  205. package/dist/action/cli/commands/setup-app/credentials.d.ts.map +0 -1
  206. package/dist/action/cli/commands/setup-app/manifest.d.ts +0 -24
  207. package/dist/action/cli/commands/setup-app/manifest.d.ts.map +0 -1
  208. package/dist/action/cli/commands/setup-app/server.d.ts +0 -28
  209. package/dist/action/cli/commands/setup-app/server.d.ts.map +0 -1
  210. package/dist/action/cli/commands/setup-app.d.ts +0 -11
  211. package/dist/action/cli/commands/setup-app.d.ts.map +0 -1
  212. package/dist/action/cli/commands/sync.d.ts +0 -9
  213. package/dist/action/cli/commands/sync.d.ts.map +0 -1
  214. package/dist/action/cli/context.d.ts +0 -27
  215. package/dist/action/cli/context.d.ts.map +0 -1
  216. package/dist/action/cli/files.d.ts +0 -22
  217. package/dist/action/cli/files.d.ts.map +0 -1
  218. package/dist/action/cli/files.test.d.ts +0 -2
  219. package/dist/action/cli/files.test.d.ts.map +0 -1
  220. package/dist/action/cli/fix.d.ts +0 -41
  221. package/dist/action/cli/fix.d.ts.map +0 -1
  222. package/dist/action/cli/fix.test.d.ts +0 -2
  223. package/dist/action/cli/fix.test.d.ts.map +0 -1
  224. package/dist/action/cli/git.d.ts +0 -73
  225. package/dist/action/cli/git.d.ts.map +0 -1
  226. package/dist/action/cli/git.test.d.ts +0 -2
  227. package/dist/action/cli/git.test.d.ts.map +0 -1
  228. package/dist/action/cli/index.d.ts +0 -3
  229. package/dist/action/cli/index.d.ts.map +0 -1
  230. package/dist/action/cli/main.d.ts +0 -7
  231. package/dist/action/cli/main.d.ts.map +0 -1
  232. package/dist/action/cli/output/box.d.ts +0 -75
  233. package/dist/action/cli/output/box.d.ts.map +0 -1
  234. package/dist/action/cli/output/formatters.d.ts +0 -90
  235. package/dist/action/cli/output/formatters.d.ts.map +0 -1
  236. package/dist/action/cli/output/formatters.test.d.ts +0 -2
  237. package/dist/action/cli/output/formatters.test.d.ts.map +0 -1
  238. package/dist/action/cli/output/icons.d.ts +0 -15
  239. package/dist/action/cli/output/icons.d.ts.map +0 -1
  240. package/dist/action/cli/output/index.d.ts +0 -10
  241. package/dist/action/cli/output/index.d.ts.map +0 -1
  242. package/dist/action/cli/output/ink-runner.d.ts +0 -29
  243. package/dist/action/cli/output/ink-runner.d.ts.map +0 -1
  244. package/dist/action/cli/output/jsonl.d.ts +0 -43
  245. package/dist/action/cli/output/jsonl.d.ts.map +0 -1
  246. package/dist/action/cli/output/jsonl.test.d.ts +0 -2
  247. package/dist/action/cli/output/jsonl.test.d.ts.map +0 -1
  248. package/dist/action/cli/output/reporter.d.ts +0 -108
  249. package/dist/action/cli/output/reporter.d.ts.map +0 -1
  250. package/dist/action/cli/output/tasks.d.ts +0 -89
  251. package/dist/action/cli/output/tasks.d.ts.map +0 -1
  252. package/dist/action/cli/output/tty.d.ts +0 -21
  253. package/dist/action/cli/output/tty.d.ts.map +0 -1
  254. package/dist/action/cli/output/tty.test.d.ts +0 -2
  255. package/dist/action/cli/output/tty.test.d.ts.map +0 -1
  256. package/dist/action/cli/output/verbosity.d.ts +0 -20
  257. package/dist/action/cli/output/verbosity.d.ts.map +0 -1
  258. package/dist/action/cli/output/verbosity.test.d.ts +0 -2
  259. package/dist/action/cli/output/verbosity.test.d.ts.map +0 -1
  260. package/dist/action/cli/terminal.d.ts +0 -19
  261. package/dist/action/cli/terminal.d.ts.map +0 -1
  262. package/dist/action/cli/terminal.test.d.ts +0 -2
  263. package/dist/action/cli/terminal.test.d.ts.map +0 -1
  264. package/dist/action/config/index.d.ts +0 -4
  265. package/dist/action/config/index.d.ts.map +0 -1
  266. package/dist/action/config/loader.d.ts +0 -27
  267. package/dist/action/config/loader.d.ts.map +0 -1
  268. package/dist/action/config/loader.test.d.ts +0 -2
  269. package/dist/action/config/loader.test.d.ts.map +0 -1
  270. package/dist/action/config/schema.d.ts +0 -318
  271. package/dist/action/config/schema.d.ts.map +0 -1
  272. package/dist/action/config/writer.d.ts +0 -11
  273. package/dist/action/config/writer.d.ts.map +0 -1
  274. package/dist/action/config/writer.test.d.ts +0 -2
  275. package/dist/action/config/writer.test.d.ts.map +0 -1
  276. package/dist/action/diff/classify.d.ts +0 -29
  277. package/dist/action/diff/classify.d.ts.map +0 -1
  278. package/dist/action/diff/classify.test.d.ts +0 -2
  279. package/dist/action/diff/classify.test.d.ts.map +0 -1
  280. package/dist/action/diff/coalesce.d.ts +0 -42
  281. package/dist/action/diff/coalesce.d.ts.map +0 -1
  282. package/dist/action/diff/coalesce.test.d.ts +0 -2
  283. package/dist/action/diff/coalesce.test.d.ts.map +0 -1
  284. package/dist/action/diff/context.d.ts +0 -30
  285. package/dist/action/diff/context.d.ts.map +0 -1
  286. package/dist/action/diff/context.test.d.ts +0 -2
  287. package/dist/action/diff/context.test.d.ts.map +0 -1
  288. package/dist/action/diff/index.d.ts +0 -5
  289. package/dist/action/diff/index.d.ts.map +0 -1
  290. package/dist/action/diff/parser.d.ts +0 -52
  291. package/dist/action/diff/parser.d.ts.map +0 -1
  292. package/dist/action/diff/parser.test.d.ts +0 -2
  293. package/dist/action/diff/parser.test.d.ts.map +0 -1
  294. package/dist/action/event/context.d.ts +0 -9
  295. package/dist/action/event/context.d.ts.map +0 -1
  296. package/dist/action/event/index.d.ts +0 -3
  297. package/dist/action/event/index.d.ts.map +0 -1
  298. package/dist/action/event/schedule-context.d.ts +0 -30
  299. package/dist/action/event/schedule-context.d.ts.map +0 -1
  300. package/dist/action/examples/examples.integration.test.d.ts +0 -2
  301. package/dist/action/examples/examples.integration.test.d.ts.map +0 -1
  302. package/dist/action/examples/index.d.ts +0 -50
  303. package/dist/action/examples/index.d.ts.map +0 -1
  304. package/dist/action/examples/index.test.d.ts +0 -2
  305. package/dist/action/examples/index.test.d.ts.map +0 -1
  306. package/dist/action/examples/setup.d.ts +0 -2
  307. package/dist/action/examples/setup.d.ts.map +0 -1
  308. package/dist/action/index.d.ts +0 -11
  309. package/dist/action/index.d.ts.map +0 -1
  310. package/dist/action/index.js +0 -38231
  311. package/dist/action/index.js.map +0 -1
  312. package/dist/action/licenses.txt +0 -992
  313. package/dist/action/main.d.ts +0 -2
  314. package/dist/action/main.d.ts.map +0 -1
  315. package/dist/action/main.js +0 -707
  316. package/dist/action/main.js.map +0 -1
  317. package/dist/action/output/dedup.d.ts +0 -153
  318. package/dist/action/output/dedup.d.ts.map +0 -1
  319. package/dist/action/output/dedup.test.d.ts +0 -2
  320. package/dist/action/output/dedup.test.d.ts.map +0 -1
  321. package/dist/action/output/github-checks.d.ts +0 -106
  322. package/dist/action/output/github-checks.d.ts.map +0 -1
  323. package/dist/action/output/github-checks.test.d.ts +0 -2
  324. package/dist/action/output/github-checks.test.d.ts.map +0 -1
  325. package/dist/action/output/github-issues.d.ts +0 -35
  326. package/dist/action/output/github-issues.d.ts.map +0 -1
  327. package/dist/action/output/index.d.ts +0 -6
  328. package/dist/action/output/index.d.ts.map +0 -1
  329. package/dist/action/output/issue-renderer.d.ts +0 -20
  330. package/dist/action/output/issue-renderer.d.ts.map +0 -1
  331. package/dist/action/output/renderer.d.ts +0 -4
  332. package/dist/action/output/renderer.d.ts.map +0 -1
  333. package/dist/action/output/renderer.test.d.ts +0 -2
  334. package/dist/action/output/renderer.test.d.ts.map +0 -1
  335. package/dist/action/output/stale.d.ts +0 -31
  336. package/dist/action/output/stale.d.ts.map +0 -1
  337. package/dist/action/output/stale.test.d.ts +0 -2
  338. package/dist/action/output/stale.test.d.ts.map +0 -1
  339. package/dist/action/output/types.d.ts +0 -31
  340. package/dist/action/output/types.d.ts.map +0 -1
  341. package/dist/action/package.json +0 -3
  342. package/dist/action/sdk/index.d.ts +0 -2
  343. package/dist/action/sdk/index.d.ts.map +0 -1
  344. package/dist/action/sdk/runner.d.ts +0 -202
  345. package/dist/action/sdk/runner.d.ts.map +0 -1
  346. package/dist/action/sdk/runner.test.d.ts +0 -2
  347. package/dist/action/sdk/runner.test.d.ts.map +0 -1
  348. package/dist/action/skills/index.d.ts +0 -5
  349. package/dist/action/skills/index.d.ts.map +0 -1
  350. package/dist/action/skills/loader.d.ts +0 -111
  351. package/dist/action/skills/loader.d.ts.map +0 -1
  352. package/dist/action/skills/loader.test.d.ts +0 -2
  353. package/dist/action/skills/loader.test.d.ts.map +0 -1
  354. package/dist/action/skills/remote.d.ts +0 -117
  355. package/dist/action/skills/remote.d.ts.map +0 -1
  356. package/dist/action/skills/remote.test.d.ts +0 -2
  357. package/dist/action/skills/remote.test.d.ts.map +0 -1
  358. package/dist/action/sourcemap-register.cjs +0 -1
  359. package/dist/action/triggers/matcher.d.ts +0 -30
  360. package/dist/action/triggers/matcher.d.ts.map +0 -1
  361. package/dist/action/triggers/matcher.test.d.ts +0 -2
  362. package/dist/action/triggers/matcher.test.d.ts.map +0 -1
  363. package/dist/action/types/index.d.ts +0 -269
  364. package/dist/action/types/index.d.ts.map +0 -1
  365. package/dist/action/utils/async.d.ts +0 -5
  366. package/dist/action/utils/async.d.ts.map +0 -1
  367. package/dist/action/utils/index.d.ts +0 -16
  368. package/dist/action/utils/index.d.ts.map +0 -1
  369. package/dist/action/utils/index.test.d.ts +0 -2
  370. package/dist/action/utils/index.test.d.ts.map +0 -1
  371. package/dist/action/utils/version.d.ts +0 -3
  372. package/dist/action/utils/version.d.ts.map +0 -1
  373. package/dist/cli/args.test.d.ts +0 -2
  374. package/dist/cli/args.test.d.ts.map +0 -1
  375. package/dist/cli/args.test.js +0 -392
  376. package/dist/cli/args.test.js.map +0 -1
  377. package/dist/cli/commands/init.test.d.ts +0 -2
  378. package/dist/cli/commands/init.test.d.ts.map +0 -1
  379. package/dist/cli/commands/init.test.js +0 -117
  380. package/dist/cli/commands/init.test.js.map +0 -1
  381. package/dist/cli/files.test.d.ts +0 -2
  382. package/dist/cli/files.test.d.ts.map +0 -1
  383. package/dist/cli/files.test.js +0 -117
  384. package/dist/cli/files.test.js.map +0 -1
  385. package/dist/cli/fix.test.d.ts +0 -2
  386. package/dist/cli/fix.test.d.ts.map +0 -1
  387. package/dist/cli/fix.test.js +0 -251
  388. package/dist/cli/fix.test.js.map +0 -1
  389. package/dist/cli/git.test.d.ts +0 -2
  390. package/dist/cli/git.test.d.ts.map +0 -1
  391. package/dist/cli/git.test.js +0 -96
  392. package/dist/cli/git.test.js.map +0 -1
  393. package/dist/cli/output/formatters.test.d.ts +0 -2
  394. package/dist/cli/output/formatters.test.d.ts.map +0 -1
  395. package/dist/cli/output/formatters.test.js +0 -152
  396. package/dist/cli/output/formatters.test.js.map +0 -1
  397. package/dist/cli/output/jsonl.test.d.ts +0 -2
  398. package/dist/cli/output/jsonl.test.d.ts.map +0 -1
  399. package/dist/cli/output/jsonl.test.js +0 -284
  400. package/dist/cli/output/jsonl.test.js.map +0 -1
  401. package/dist/cli/output/tty.test.d.ts +0 -2
  402. package/dist/cli/output/tty.test.d.ts.map +0 -1
  403. package/dist/cli/output/tty.test.js +0 -105
  404. package/dist/cli/output/tty.test.js.map +0 -1
  405. package/dist/cli/output/verbosity.test.d.ts +0 -2
  406. package/dist/cli/output/verbosity.test.d.ts.map +0 -1
  407. package/dist/cli/output/verbosity.test.js +0 -35
  408. package/dist/cli/output/verbosity.test.js.map +0 -1
  409. package/dist/cli/terminal.test.d.ts +0 -2
  410. package/dist/cli/terminal.test.d.ts.map +0 -1
  411. package/dist/cli/terminal.test.js +0 -123
  412. package/dist/cli/terminal.test.js.map +0 -1
  413. package/dist/config/loader.test.d.ts +0 -2
  414. package/dist/config/loader.test.d.ts.map +0 -1
  415. package/dist/config/loader.test.js +0 -263
  416. package/dist/config/loader.test.js.map +0 -1
  417. package/dist/config/writer.test.d.ts +0 -2
  418. package/dist/config/writer.test.d.ts.map +0 -1
  419. package/dist/config/writer.test.js +0 -98
  420. package/dist/config/writer.test.js.map +0 -1
  421. package/dist/diff/classify.test.d.ts +0 -2
  422. package/dist/diff/classify.test.d.ts.map +0 -1
  423. package/dist/diff/classify.test.js +0 -140
  424. package/dist/diff/classify.test.js.map +0 -1
  425. package/dist/diff/coalesce.test.d.ts +0 -2
  426. package/dist/diff/coalesce.test.d.ts.map +0 -1
  427. package/dist/diff/coalesce.test.js +0 -159
  428. package/dist/diff/coalesce.test.js.map +0 -1
  429. package/dist/diff/context.test.d.ts +0 -2
  430. package/dist/diff/context.test.d.ts.map +0 -1
  431. package/dist/diff/context.test.js +0 -190
  432. package/dist/diff/context.test.js.map +0 -1
  433. package/dist/diff/parser.test.d.ts +0 -2
  434. package/dist/diff/parser.test.d.ts.map +0 -1
  435. package/dist/diff/parser.test.js +0 -178
  436. package/dist/diff/parser.test.js.map +0 -1
  437. package/dist/examples/examples.integration.test.d.ts +0 -2
  438. package/dist/examples/examples.integration.test.d.ts.map +0 -1
  439. package/dist/examples/examples.integration.test.js +0 -55
  440. package/dist/examples/examples.integration.test.js.map +0 -1
  441. package/dist/examples/index.test.d.ts +0 -2
  442. package/dist/examples/index.test.d.ts.map +0 -1
  443. package/dist/examples/index.test.js +0 -88
  444. package/dist/examples/index.test.js.map +0 -1
  445. package/dist/output/dedup.test.d.ts +0 -2
  446. package/dist/output/dedup.test.d.ts.map +0 -1
  447. package/dist/output/dedup.test.js +0 -357
  448. package/dist/output/dedup.test.js.map +0 -1
  449. package/dist/output/github-checks.test.d.ts +0 -2
  450. package/dist/output/github-checks.test.d.ts.map +0 -1
  451. package/dist/output/github-checks.test.js +0 -255
  452. package/dist/output/github-checks.test.js.map +0 -1
  453. package/dist/output/renderer.test.d.ts +0 -2
  454. package/dist/output/renderer.test.d.ts.map +0 -1
  455. package/dist/output/renderer.test.js +0 -645
  456. package/dist/output/renderer.test.js.map +0 -1
  457. package/dist/output/stale.test.d.ts +0 -2
  458. package/dist/output/stale.test.d.ts.map +0 -1
  459. package/dist/output/stale.test.js +0 -330
  460. package/dist/output/stale.test.js.map +0 -1
  461. package/dist/sdk/runner.test.d.ts +0 -2
  462. package/dist/sdk/runner.test.d.ts.map +0 -1
  463. package/dist/sdk/runner.test.js +0 -677
  464. package/dist/sdk/runner.test.js.map +0 -1
  465. package/dist/skills/loader.test.d.ts +0 -2
  466. package/dist/skills/loader.test.d.ts.map +0 -1
  467. package/dist/skills/loader.test.js +0 -241
  468. package/dist/skills/loader.test.js.map +0 -1
  469. package/dist/skills/remote.test.d.ts +0 -2
  470. package/dist/skills/remote.test.d.ts.map +0 -1
  471. package/dist/skills/remote.test.js +0 -582
  472. package/dist/skills/remote.test.js.map +0 -1
  473. package/dist/triggers/matcher.test.d.ts +0 -2
  474. package/dist/triggers/matcher.test.d.ts.map +0 -1
  475. package/dist/triggers/matcher.test.js +0 -234
  476. package/dist/triggers/matcher.test.js.map +0 -1
  477. package/dist/utils/index.test.d.ts +0 -2
  478. package/dist/utils/index.test.d.ts.map +0 -1
  479. package/dist/utils/index.test.js +0 -68
  480. package/dist/utils/index.test.js.map +0 -1
  481. package/docs/astro.config.mjs +0 -43
  482. package/docs/package.json +0 -19
  483. package/docs/pnpm-lock.yaml +0 -4000
  484. package/docs/public/favicon.svg +0 -5
  485. package/docs/src/components/Code.astro +0 -141
  486. package/docs/src/components/PackageManagerTabs.astro +0 -183
  487. package/docs/src/components/Terminal.astro +0 -212
  488. package/docs/src/layouts/Base.astro +0 -380
  489. package/docs/src/pages/cli.astro +0 -167
  490. package/docs/src/pages/config.astro +0 -395
  491. package/docs/src/pages/guide.astro +0 -450
  492. package/docs/src/pages/index.astro +0 -490
  493. package/docs/src/styles/global.css +0 -551
  494. package/docs/src/utils/version.ts +0 -6
  495. package/docs/tsconfig.json +0 -3
  496. package/docs/vercel.json +0 -5
  497. package/eslint.config.js +0 -33
  498. package/src/action/index.ts +0 -1
  499. package/src/action/main.ts +0 -868
  500. package/src/cli/args.test.ts +0 -477
  501. package/src/cli/args.ts +0 -414
  502. package/src/cli/commands/add.ts +0 -447
  503. package/src/cli/commands/init.test.ts +0 -137
  504. package/src/cli/commands/init.ts +0 -134
  505. package/src/cli/commands/setup-app/browser.ts +0 -38
  506. package/src/cli/commands/setup-app/credentials.ts +0 -45
  507. package/src/cli/commands/setup-app/manifest.ts +0 -48
  508. package/src/cli/commands/setup-app/server.ts +0 -172
  509. package/src/cli/commands/setup-app.ts +0 -156
  510. package/src/cli/commands/sync.ts +0 -114
  511. package/src/cli/context.ts +0 -131
  512. package/src/cli/files.test.ts +0 -155
  513. package/src/cli/files.ts +0 -89
  514. package/src/cli/fix.test.ts +0 -310
  515. package/src/cli/fix.ts +0 -387
  516. package/src/cli/git.test.ts +0 -119
  517. package/src/cli/git.ts +0 -318
  518. package/src/cli/index.ts +0 -14
  519. package/src/cli/main.ts +0 -672
  520. package/src/cli/output/box.ts +0 -235
  521. package/src/cli/output/formatters.test.ts +0 -187
  522. package/src/cli/output/formatters.ts +0 -269
  523. package/src/cli/output/icons.ts +0 -19
  524. package/src/cli/output/index.ts +0 -44
  525. package/src/cli/output/ink-runner.tsx +0 -366
  526. package/src/cli/output/jsonl.test.ts +0 -347
  527. package/src/cli/output/jsonl.ts +0 -126
  528. package/src/cli/output/reporter.ts +0 -434
  529. package/src/cli/output/tasks.ts +0 -374
  530. package/src/cli/output/tty.test.ts +0 -117
  531. package/src/cli/output/tty.ts +0 -60
  532. package/src/cli/output/verbosity.test.ts +0 -40
  533. package/src/cli/output/verbosity.ts +0 -31
  534. package/src/cli/terminal.test.ts +0 -148
  535. package/src/cli/terminal.ts +0 -301
  536. package/src/config/index.ts +0 -3
  537. package/src/config/loader.test.ts +0 -313
  538. package/src/config/loader.ts +0 -103
  539. package/src/config/schema.ts +0 -168
  540. package/src/config/writer.test.ts +0 -119
  541. package/src/config/writer.ts +0 -84
  542. package/src/diff/classify.test.ts +0 -162
  543. package/src/diff/classify.ts +0 -92
  544. package/src/diff/coalesce.test.ts +0 -208
  545. package/src/diff/coalesce.ts +0 -133
  546. package/src/diff/context.test.ts +0 -226
  547. package/src/diff/context.ts +0 -201
  548. package/src/diff/index.ts +0 -4
  549. package/src/diff/parser.test.ts +0 -212
  550. package/src/diff/parser.ts +0 -149
  551. package/src/event/context.ts +0 -132
  552. package/src/event/index.ts +0 -2
  553. package/src/event/schedule-context.ts +0 -101
  554. package/src/examples/examples.integration.test.ts +0 -66
  555. package/src/examples/index.test.ts +0 -101
  556. package/src/examples/index.ts +0 -122
  557. package/src/examples/setup.ts +0 -25
  558. package/src/index.ts +0 -115
  559. package/src/output/dedup.test.ts +0 -419
  560. package/src/output/dedup.ts +0 -607
  561. package/src/output/github-checks.test.ts +0 -300
  562. package/src/output/github-checks.ts +0 -476
  563. package/src/output/github-issues.ts +0 -329
  564. package/src/output/index.ts +0 -5
  565. package/src/output/issue-renderer.ts +0 -197
  566. package/src/output/renderer.test.ts +0 -727
  567. package/src/output/renderer.ts +0 -217
  568. package/src/output/stale.test.ts +0 -375
  569. package/src/output/stale.ts +0 -155
  570. package/src/output/types.ts +0 -34
  571. package/src/sdk/index.ts +0 -1
  572. package/src/sdk/runner.test.ts +0 -806
  573. package/src/sdk/runner.ts +0 -1232
  574. package/src/skills/index.ts +0 -36
  575. package/src/skills/loader.test.ts +0 -300
  576. package/src/skills/loader.ts +0 -423
  577. package/src/skills/remote.test.ts +0 -704
  578. package/src/skills/remote.ts +0 -604
  579. package/src/triggers/matcher.test.ts +0 -277
  580. package/src/triggers/matcher.ts +0 -152
  581. package/src/types/index.ts +0 -194
  582. package/src/utils/async.ts +0 -18
  583. package/src/utils/index.test.ts +0 -84
  584. package/src/utils/index.ts +0 -51
  585. package/src/utils/version.ts +0 -17
  586. package/tsconfig.json +0 -25
  587. package/vitest.config.ts +0 -8
  588. package/vitest.integration.config.ts +0 -11
  589. package/warden.toml +0 -19
@@ -0,0 +1,111 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ /**
3
+ * Error thrown when a command fails.
4
+ */
5
+ export class ExecError extends Error {
6
+ command;
7
+ exitCode;
8
+ stderr;
9
+ signal;
10
+ constructor(command, exitCode, stderr, signal) {
11
+ const details = stderr || (signal ? `Killed by signal ${signal}` : 'Unknown error');
12
+ super(`Command failed: ${command}\n${details}`);
13
+ this.command = command;
14
+ this.exitCode = exitCode;
15
+ this.stderr = stderr;
16
+ this.signal = signal;
17
+ this.name = 'ExecError';
18
+ }
19
+ }
20
+ /**
21
+ * Git environment variables that disable interactive prompts.
22
+ * - GIT_TERMINAL_PROMPT=0: Disables git's internal prompts
23
+ * - GIT_SSH_COMMAND with BatchMode=yes: Makes SSH fail instead of prompting for passphrase
24
+ */
25
+ export const GIT_NON_INTERACTIVE_ENV = {
26
+ GIT_TERMINAL_PROMPT: '0',
27
+ GIT_SSH_COMMAND: 'ssh -o BatchMode=yes',
28
+ };
29
+ /**
30
+ * Build spawn options for non-interactive execution.
31
+ * - stdin: 'ignore' maps to /dev/null, ensuring immediate EOF on read (no hangs)
32
+ * - stdout/stderr: 'pipe' to capture output
33
+ */
34
+ function buildSpawnOptions(options) {
35
+ return {
36
+ encoding: 'utf-8',
37
+ cwd: options?.cwd,
38
+ env: options?.env ? { ...process.env, ...options.env } : process.env,
39
+ timeout: options?.timeout,
40
+ stdio: ['ignore', 'pipe', 'pipe'],
41
+ };
42
+ }
43
+ /**
44
+ * Execute a shell command in non-interactive mode.
45
+ * Uses piped stdio to avoid passing terminal to child process.
46
+ *
47
+ * @param command - The shell command to execute
48
+ * @param options - Execution options (cwd, env, timeout)
49
+ * @returns The trimmed stdout output
50
+ * @throws ExecError if the command fails
51
+ */
52
+ export function execNonInteractive(command, options) {
53
+ const spawnOptions = buildSpawnOptions(options);
54
+ // Use shell to execute the command string
55
+ const result = spawnSync(command, {
56
+ ...spawnOptions,
57
+ shell: true,
58
+ });
59
+ if (result.error) {
60
+ throw new ExecError(command, null, result.error.message, null);
61
+ }
62
+ if (result.status !== 0) {
63
+ const stderr = typeof result.stderr === 'string' ? result.stderr.trim() : '';
64
+ throw new ExecError(command, result.status, stderr, result.signal?.toString() ?? null);
65
+ }
66
+ const stdout = typeof result.stdout === 'string' ? result.stdout : '';
67
+ return stdout.trim();
68
+ }
69
+ /**
70
+ * Execute a file with arguments in non-interactive mode.
71
+ * Uses execFile semantics (no shell), avoiding shell injection vulnerabilities.
72
+ * Uses piped stdio to avoid passing terminal to child process.
73
+ *
74
+ * @param file - The executable to run
75
+ * @param args - Arguments to pass to the executable
76
+ * @param options - Execution options (cwd, env, timeout)
77
+ * @returns The trimmed stdout output
78
+ * @throws ExecError if the command fails
79
+ */
80
+ export function execFileNonInteractive(file, args, options) {
81
+ const spawnOptions = buildSpawnOptions(options);
82
+ const command = `${file} ${args.join(' ')}`;
83
+ const result = spawnSync(file, args, spawnOptions);
84
+ if (result.error) {
85
+ throw new ExecError(command, null, result.error.message, null);
86
+ }
87
+ if (result.status !== 0) {
88
+ const stderr = typeof result.stderr === 'string' ? result.stderr.trim() : '';
89
+ throw new ExecError(command, result.status, stderr, result.signal?.toString() ?? null);
90
+ }
91
+ const stdout = typeof result.stdout === 'string' ? result.stdout : '';
92
+ return stdout.trim();
93
+ }
94
+ /**
95
+ * Execute a git command in non-interactive mode.
96
+ * Combines execFileNonInteractive with GIT_NON_INTERACTIVE_ENV for
97
+ * defense-in-depth against SSH prompts.
98
+ *
99
+ * @param args - Arguments to pass to git
100
+ * @param options - Execution options (cwd, env, timeout)
101
+ * @returns The trimmed stdout output
102
+ * @throws ExecError if the command fails
103
+ */
104
+ export function execGitNonInteractive(args, options) {
105
+ const env = {
106
+ ...options?.env,
107
+ ...GIT_NON_INTERACTIVE_ENV, // Always override to ensure non-interactive
108
+ };
109
+ return execFileNonInteractive('git', args, { ...options, env });
110
+ }
111
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export { processInBatches } from './async.js';
2
2
  export { getVersion, getMajorVersion } from './version.js';
3
+ export { ExecError, execNonInteractive, execFileNonInteractive, execGitNonInteractive, GIT_NON_INTERACTIVE_ENV, } from './exec.js';
4
+ export type { ExecOptions } from './exec.js';
3
5
  /** Default concurrency for parallel trigger/skill execution */
4
6
  export declare const DEFAULT_CONCURRENCY = 4;
5
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+B/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+B/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD"}
@@ -1,5 +1,6 @@
1
1
  export { processInBatches } from './async.js';
2
2
  export { getVersion, getMajorVersion } from './version.js';
3
+ export { ExecError, execNonInteractive, execFileNonInteractive, execGitNonInteractive, GIT_NON_INTERACTIVE_ENV, } from './exec.js';
3
4
  /** Default concurrency for parallel trigger/skill execution */
4
5
  export const DEFAULT_CONCURRENCY = 4;
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,+DAA+D;IAC/D,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,wFAAwF;IACxF,qEAAqE;IACrE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,SAAS,GAAG,SAAS;SAClB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzB,+BAA+B;IAC/B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAGnB,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,+DAA+D;IAC/D,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,wFAAwF;IACxF,qEAAqE;IACrE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,SAAS,GAAG,SAAS;SAClB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzB,+BAA+B;IAC/B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACrF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/warden",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Event-driven agent that reacts to GitHub events and executes skills via Claude Code SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -8,20 +8,6 @@
8
8
  "bin": {
9
9
  "warden": "dist/cli/index.js"
10
10
  },
11
- "scripts": {
12
- "cli": "tsx src/cli/index.ts",
13
- "build": "tsc",
14
- "build:action": "ncc build src/action/main.ts -o dist/action --source-map --license licenses.txt",
15
- "dev": "tsc --watch",
16
- "lint": "eslint src",
17
- "lint:fix": "eslint src --fix",
18
- "test": "vitest run",
19
- "test:watch": "vitest",
20
- "test:examples": "vitest run --config vitest.integration.config.ts",
21
- "typecheck": "tsc --noEmit",
22
- "prepare": "simple-git-hooks",
23
- "release": "pnpm lint && pnpm build && pnpm test && npm version"
24
- },
25
11
  "simple-git-hooks": {
26
12
  "pre-commit": "pnpm lint-staged && pnpm typecheck"
27
13
  },
@@ -57,6 +43,7 @@
57
43
  "dotenv": "^17.2.3",
58
44
  "fast-glob": "^3.3.3",
59
45
  "figures": "^6.1.0",
46
+ "ignore": "^7.0.5",
60
47
  "ink": "^5.2.1",
61
48
  "ink-spinner": "^5.0.0",
62
49
  "react": "^18.3.1",
@@ -79,5 +66,17 @@
79
66
  },
80
67
  "engines": {
81
68
  "node": ">=20.0.0"
69
+ },
70
+ "scripts": {
71
+ "cli": "tsx src/cli/index.ts",
72
+ "build": "tsc",
73
+ "build:action": "ncc build src/action/main.ts -o dist/action --source-map --license licenses.txt",
74
+ "dev": "tsc --watch",
75
+ "lint": "eslint src",
76
+ "lint:fix": "eslint src --fix",
77
+ "test": "vitest run",
78
+ "test:watch": "vitest",
79
+ "test:examples": "vitest run --config vitest.integration.config.ts",
80
+ "typecheck": "tsc --noEmit"
82
81
  }
83
- }
82
+ }
@@ -1,75 +0,0 @@
1
- ---
2
- name: find-bugs
3
- description: Find bugs, security vulnerabilities, and code quality issues in local branch changes. Use when asked to review changes, find bugs, security review, or audit code on the current branch.
4
- ---
5
-
6
- # Find Bugs
7
-
8
- Review changes on this branch for bugs, security vulnerabilities, and code quality issues.
9
-
10
- ## Phase 1: Complete Input Gathering
11
-
12
- 1. Get the FULL diff: `git diff $(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name')...HEAD`
13
- 2. If output is truncated, read each changed file individually until you have seen every changed line
14
- 3. List all files modified in this branch before proceeding
15
-
16
- ## Phase 2: Attack Surface Mapping
17
-
18
- For each changed file, identify and list:
19
-
20
- * All user inputs (request params, headers, body, URL components)
21
- * All database queries
22
- * All authentication/authorization checks
23
- * All session/state operations
24
- * All external calls
25
- * All cryptographic operations
26
-
27
- ## Phase 3: Security Checklist (check EVERY item for EVERY file)
28
-
29
- * [ ] **Injection**: SQL, command, template, header injection
30
- * [ ] **XSS**: All outputs in templates properly escaped?
31
- * [ ] **Authentication**: Auth checks on all protected operations?
32
- * [ ] **Authorization/IDOR**: Access control verified, not just auth?
33
- * [ ] **CSRF**: State-changing operations protected?
34
- * [ ] **Race conditions**: TOCTOU in any read-then-write patterns?
35
- * [ ] **Session**: Fixation, expiration, secure flags?
36
- * [ ] **Cryptography**: Secure random, proper algorithms, no secrets in logs?
37
- * [ ] **Information disclosure**: Error messages, logs, timing attacks?
38
- * [ ] **DoS**: Unbounded operations, missing rate limits, resource exhaustion?
39
- * [ ] **Business logic**: Edge cases, state machine violations, numeric overflow?
40
-
41
- ## Phase 4: Verification
42
-
43
- For each potential issue:
44
-
45
- * Check if it's already handled elsewhere in the changed code
46
- * Search for existing tests covering the scenario
47
- * Read surrounding context to verify the issue is real
48
-
49
- ## Phase 5: Pre-Conclusion Audit
50
-
51
- Before finalizing, you MUST:
52
-
53
- 1. List every file you reviewed and confirm you read it completely
54
- 2. List every checklist item and note whether you found issues or confirmed it's clean
55
- 3. List any areas you could NOT fully verify and why
56
- 4. Only then provide your final findings
57
-
58
- ## Output Format
59
-
60
- **Prioritize**: security vulnerabilities > bugs > code quality
61
-
62
- **Skip**: stylistic/formatting issues
63
-
64
- For each issue:
65
-
66
- * **File:Line** - Brief description
67
- * **Severity**: Critical/High/Medium/Low
68
- * **Problem**: What's wrong
69
- * **Evidence**: Why this is real (not already fixed, no existing test, etc.)
70
- * **Fix**: Concrete suggestion
71
- * **References**: OWASP, RFCs, or other standards if applicable
72
-
73
- If you find nothing significant, say so - don't invent issues.
74
-
75
- Do not make changes - just report findings. I'll decide what to address.