@sentry/warden 0.22.0 → 0.24.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 (310) hide show
  1. package/.oxlintrc.json +169 -0
  2. package/CHANGELOG.md +427 -0
  3. package/README.md +4 -1
  4. package/dist/cli/args.d.ts +6 -2
  5. package/dist/cli/args.d.ts.map +1 -1
  6. package/dist/cli/args.js +175 -207
  7. package/dist/cli/args.js.map +1 -1
  8. package/dist/cli/commands/add.d.ts.map +1 -1
  9. package/dist/cli/commands/add.js +16 -5
  10. package/dist/cli/commands/add.js.map +1 -1
  11. package/dist/cli/commands/build.d.ts +13 -0
  12. package/dist/cli/commands/build.d.ts.map +1 -0
  13. package/dist/cli/commands/build.js +384 -0
  14. package/dist/cli/commands/build.js.map +1 -0
  15. package/dist/cli/commands/init.d.ts.map +1 -1
  16. package/dist/cli/commands/init.js +13 -5
  17. package/dist/cli/commands/init.js.map +1 -1
  18. package/dist/cli/commands/runs.d.ts.map +1 -1
  19. package/dist/cli/commands/runs.js +12 -6
  20. package/dist/cli/commands/runs.js.map +1 -1
  21. package/dist/cli/commands/sync.d.ts.map +1 -1
  22. package/dist/cli/commands/sync.js +4 -1
  23. package/dist/cli/commands/sync.js.map +1 -1
  24. package/dist/cli/context.d.ts.map +1 -1
  25. package/dist/cli/context.js +8 -1
  26. package/dist/cli/context.js.map +1 -1
  27. package/dist/cli/files.d.ts.map +1 -1
  28. package/dist/cli/files.js +27 -9
  29. package/dist/cli/files.js.map +1 -1
  30. package/dist/cli/help.d.ts +4 -0
  31. package/dist/cli/help.d.ts.map +1 -0
  32. package/dist/cli/help.js +448 -0
  33. package/dist/cli/help.js.map +1 -0
  34. package/dist/cli/index.js +2 -13
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/cli/input.d.ts +12 -0
  37. package/dist/cli/input.d.ts.map +1 -1
  38. package/dist/cli/input.js +60 -0
  39. package/dist/cli/input.js.map +1 -1
  40. package/dist/cli/main.d.ts +41 -2
  41. package/dist/cli/main.d.ts.map +1 -1
  42. package/dist/cli/main.js +294 -75
  43. package/dist/cli/main.js.map +1 -1
  44. package/dist/cli/output/box.js +1 -1
  45. package/dist/cli/output/formatters.d.ts +10 -2
  46. package/dist/cli/output/formatters.d.ts.map +1 -1
  47. package/dist/cli/output/formatters.js +32 -9
  48. package/dist/cli/output/formatters.js.map +1 -1
  49. package/dist/cli/output/index.d.ts +1 -1
  50. package/dist/cli/output/index.d.ts.map +1 -1
  51. package/dist/cli/output/index.js +1 -1
  52. package/dist/cli/output/index.js.map +1 -1
  53. package/dist/cli/output/ink-runner.d.ts +3 -1
  54. package/dist/cli/output/ink-runner.d.ts.map +1 -1
  55. package/dist/cli/output/ink-runner.js +64 -28
  56. package/dist/cli/output/ink-runner.js.map +1 -1
  57. package/dist/cli/output/jsonl.d.ts +37 -0
  58. package/dist/cli/output/jsonl.d.ts.map +1 -1
  59. package/dist/cli/output/jsonl.js +6 -0
  60. package/dist/cli/output/jsonl.js.map +1 -1
  61. package/dist/cli/output/live-status.d.ts +48 -0
  62. package/dist/cli/output/live-status.d.ts.map +1 -0
  63. package/dist/cli/output/live-status.js +173 -0
  64. package/dist/cli/output/live-status.js.map +1 -0
  65. package/dist/cli/output/reporter.d.ts +4 -0
  66. package/dist/cli/output/reporter.d.ts.map +1 -1
  67. package/dist/cli/output/reporter.js +20 -3
  68. package/dist/cli/output/reporter.js.map +1 -1
  69. package/dist/cli/output/tasks.d.ts +8 -5
  70. package/dist/cli/output/tasks.d.ts.map +1 -1
  71. package/dist/cli/output/tasks.js +113 -71
  72. package/dist/cli/output/tasks.js.map +1 -1
  73. package/dist/cli/signals.d.ts +15 -0
  74. package/dist/cli/signals.d.ts.map +1 -0
  75. package/dist/cli/signals.js +26 -0
  76. package/dist/cli/signals.js.map +1 -0
  77. package/dist/config/loader.d.ts +48 -7
  78. package/dist/config/loader.d.ts.map +1 -1
  79. package/dist/config/loader.js +228 -32
  80. package/dist/config/loader.js.map +1 -1
  81. package/dist/config/schema.d.ts +55 -0
  82. package/dist/config/schema.d.ts.map +1 -1
  83. package/dist/config/schema.js +34 -2
  84. package/dist/config/schema.js.map +1 -1
  85. package/dist/diff/context.d.ts +9 -2
  86. package/dist/diff/context.d.ts.map +1 -1
  87. package/dist/diff/context.js +65 -17
  88. package/dist/diff/context.js.map +1 -1
  89. package/dist/evals/runner.d.ts.map +1 -1
  90. package/dist/evals/runner.js +16 -0
  91. package/dist/evals/runner.js.map +1 -1
  92. package/dist/event/context.d.ts.map +1 -1
  93. package/dist/event/context.js +1 -0
  94. package/dist/event/context.js.map +1 -1
  95. package/dist/event/schedule-context.d.ts.map +1 -1
  96. package/dist/event/schedule-context.js +1 -0
  97. package/dist/event/schedule-context.js.map +1 -1
  98. package/dist/index.d.ts +6 -6
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +3 -3
  101. package/dist/index.js.map +1 -1
  102. package/dist/output/dedup.d.ts +8 -11
  103. package/dist/output/dedup.d.ts.map +1 -1
  104. package/dist/output/dedup.js +39 -37
  105. package/dist/output/dedup.js.map +1 -1
  106. package/dist/output/github-checks.d.ts +1 -0
  107. package/dist/output/github-checks.d.ts.map +1 -1
  108. package/dist/output/github-checks.js +9 -7
  109. package/dist/output/github-checks.js.map +1 -1
  110. package/dist/sdk/analyze.d.ts.map +1 -1
  111. package/dist/sdk/analyze.js +147 -277
  112. package/dist/sdk/analyze.js.map +1 -1
  113. package/dist/sdk/circuit-breaker.d.ts +26 -0
  114. package/dist/sdk/circuit-breaker.d.ts.map +1 -0
  115. package/dist/sdk/circuit-breaker.js +53 -0
  116. package/dist/sdk/circuit-breaker.js.map +1 -0
  117. package/dist/sdk/errors.d.ts +5 -0
  118. package/dist/sdk/errors.d.ts.map +1 -1
  119. package/dist/sdk/errors.js +27 -0
  120. package/dist/sdk/errors.js.map +1 -1
  121. package/dist/sdk/extract.d.ts +18 -9
  122. package/dist/sdk/extract.d.ts.map +1 -1
  123. package/dist/sdk/extract.js +95 -87
  124. package/dist/sdk/extract.js.map +1 -1
  125. package/dist/sdk/fix-quality.d.ts +5 -0
  126. package/dist/sdk/fix-quality.d.ts.map +1 -1
  127. package/dist/sdk/fix-quality.js +42 -23
  128. package/dist/sdk/fix-quality.js.map +1 -1
  129. package/dist/sdk/haiku.d.ts +6 -0
  130. package/dist/sdk/haiku.d.ts.map +1 -1
  131. package/dist/sdk/haiku.js +75 -49
  132. package/dist/sdk/haiku.js.map +1 -1
  133. package/dist/sdk/json-output.d.ts +31 -0
  134. package/dist/sdk/json-output.d.ts.map +1 -0
  135. package/dist/sdk/json-output.js +98 -0
  136. package/dist/sdk/json-output.js.map +1 -0
  137. package/dist/sdk/model-pricing.json +56 -16
  138. package/dist/sdk/post-process.d.ts +29 -0
  139. package/dist/sdk/post-process.d.ts.map +1 -0
  140. package/dist/sdk/post-process.js +65 -0
  141. package/dist/sdk/post-process.js.map +1 -0
  142. package/dist/sdk/prepare.d.ts.map +1 -1
  143. package/dist/sdk/prepare.js +4 -1
  144. package/dist/sdk/prepare.js.map +1 -1
  145. package/dist/sdk/pricing.d.ts +18 -0
  146. package/dist/sdk/pricing.d.ts.map +1 -1
  147. package/dist/sdk/pricing.js +108 -3
  148. package/dist/sdk/pricing.js.map +1 -1
  149. package/dist/sdk/prompt-sections.d.ts +56 -0
  150. package/dist/sdk/prompt-sections.d.ts.map +1 -0
  151. package/dist/sdk/prompt-sections.js +118 -0
  152. package/dist/sdk/prompt-sections.js.map +1 -0
  153. package/dist/sdk/prompt.d.ts +2 -17
  154. package/dist/sdk/prompt.d.ts.map +1 -1
  155. package/dist/sdk/prompt.js +15 -37
  156. package/dist/sdk/prompt.js.map +1 -1
  157. package/dist/sdk/report-files.d.ts +15 -0
  158. package/dist/sdk/report-files.d.ts.map +1 -0
  159. package/dist/sdk/report-files.js +20 -0
  160. package/dist/sdk/report-files.js.map +1 -0
  161. package/dist/sdk/runner.d.ts +9 -1
  162. package/dist/sdk/runner.d.ts.map +1 -1
  163. package/dist/sdk/runner.js +6 -0
  164. package/dist/sdk/runner.js.map +1 -1
  165. package/dist/sdk/runtimes/claude.d.ts +3 -0
  166. package/dist/sdk/runtimes/claude.d.ts.map +1 -0
  167. package/dist/sdk/runtimes/claude.js +376 -0
  168. package/dist/sdk/runtimes/claude.js.map +1 -0
  169. package/dist/sdk/runtimes/index.d.ts +12 -0
  170. package/dist/sdk/runtimes/index.d.ts.map +1 -0
  171. package/dist/sdk/runtimes/index.js +22 -0
  172. package/dist/sdk/runtimes/index.js.map +1 -0
  173. package/dist/sdk/runtimes/types.d.ts +116 -0
  174. package/dist/sdk/runtimes/types.d.ts.map +1 -0
  175. package/dist/sdk/runtimes/types.js +17 -0
  176. package/dist/sdk/runtimes/types.js.map +1 -0
  177. package/dist/sdk/types.d.ts +23 -2
  178. package/dist/sdk/types.d.ts.map +1 -1
  179. package/dist/sdk/types.js.map +1 -1
  180. package/dist/sdk/usage.d.ts +21 -6
  181. package/dist/sdk/usage.d.ts.map +1 -1
  182. package/dist/sdk/usage.js +36 -23
  183. package/dist/sdk/usage.js.map +1 -1
  184. package/dist/sdk/verify.d.ts +25 -0
  185. package/dist/sdk/verify.d.ts.map +1 -0
  186. package/dist/sdk/verify.js +226 -0
  187. package/dist/sdk/verify.js.map +1 -0
  188. package/dist/skill-builder/agentic.d.ts +33 -0
  189. package/dist/skill-builder/agentic.d.ts.map +1 -0
  190. package/dist/skill-builder/agentic.js +240 -0
  191. package/dist/skill-builder/agentic.js.map +1 -0
  192. package/dist/skill-builder/authoring-provider.d.ts +5 -0
  193. package/dist/skill-builder/authoring-provider.d.ts.map +1 -0
  194. package/dist/skill-builder/authoring-provider.js +70 -0
  195. package/dist/skill-builder/authoring-provider.js.map +1 -0
  196. package/dist/skill-builder/definition.d.ts +46 -0
  197. package/dist/skill-builder/definition.d.ts.map +1 -0
  198. package/dist/skill-builder/definition.js +171 -0
  199. package/dist/skill-builder/definition.js.map +1 -0
  200. package/dist/skill-builder/outline-contract.d.ts +113 -0
  201. package/dist/skill-builder/outline-contract.d.ts.map +1 -0
  202. package/dist/skill-builder/outline-contract.js +73 -0
  203. package/dist/skill-builder/outline-contract.js.map +1 -0
  204. package/dist/skill-builder/outline-state.d.ts +158 -0
  205. package/dist/skill-builder/outline-state.d.ts.map +1 -0
  206. package/dist/skill-builder/outline-state.js +87 -0
  207. package/dist/skill-builder/outline-state.js.map +1 -0
  208. package/dist/skill-builder/outline.d.ts +36 -0
  209. package/dist/skill-builder/outline.d.ts.map +1 -0
  210. package/dist/skill-builder/outline.js +345 -0
  211. package/dist/skill-builder/outline.js.map +1 -0
  212. package/dist/skill-builder/skill-contract.d.ts +97 -0
  213. package/dist/skill-builder/skill-contract.d.ts.map +1 -0
  214. package/dist/skill-builder/skill-contract.js +58 -0
  215. package/dist/skill-builder/skill-contract.js.map +1 -0
  216. package/dist/skill-builder/skill-prompts.d.ts +61 -0
  217. package/dist/skill-builder/skill-prompts.d.ts.map +1 -0
  218. package/dist/skill-builder/skill-prompts.js +285 -0
  219. package/dist/skill-builder/skill-prompts.js.map +1 -0
  220. package/dist/skill-builder/skill.d.ts +23 -0
  221. package/dist/skill-builder/skill.d.ts.map +1 -0
  222. package/dist/skill-builder/skill.js +563 -0
  223. package/dist/skill-builder/skill.js.map +1 -0
  224. package/dist/skills/index.d.ts +2 -2
  225. package/dist/skills/index.d.ts.map +1 -1
  226. package/dist/skills/index.js +1 -1
  227. package/dist/skills/index.js.map +1 -1
  228. package/dist/skills/loader.d.ts +20 -6
  229. package/dist/skills/loader.d.ts.map +1 -1
  230. package/dist/skills/loader.js +88 -141
  231. package/dist/skills/loader.js.map +1 -1
  232. package/dist/skills/remote.d.ts +11 -7
  233. package/dist/skills/remote.d.ts.map +1 -1
  234. package/dist/skills/remote.js +62 -162
  235. package/dist/skills/remote.js.map +1 -1
  236. package/dist/triggers/matcher.d.ts.map +1 -1
  237. package/dist/triggers/matcher.js +28 -15
  238. package/dist/triggers/matcher.js.map +1 -1
  239. package/dist/types/index.d.ts +40 -0
  240. package/dist/types/index.d.ts.map +1 -1
  241. package/dist/types/index.js +11 -0
  242. package/dist/types/index.js.map +1 -1
  243. package/dist/utils/index.d.ts +1 -0
  244. package/dist/utils/index.d.ts.map +1 -1
  245. package/dist/utils/index.js +1 -0
  246. package/dist/utils/index.js.map +1 -1
  247. package/dist/utils/path.d.ts +17 -0
  248. package/dist/utils/path.d.ts.map +1 -0
  249. package/dist/utils/path.js +36 -0
  250. package/dist/utils/path.js.map +1 -0
  251. package/package.json +8 -8
  252. package/policies/README.md +22 -0
  253. package/policies/code-comments.md +20 -0
  254. package/policies/policy-template.md +14 -0
  255. package/skills/warden/SPEC.md +112 -0
  256. package/skills/warden/references/cli-reference.md +2 -2
  257. package/skills/warden/references/config-schema.md +29 -13
  258. package/skills/warden/references/configuration.md +20 -8
  259. package/skills/warden/references/creating-skills.md +3 -0
  260. package/skills/warden-sweep/SPEC.md +126 -0
  261. package/src/builtin-skills/security-review/SKILL.md +81 -0
  262. package/src/builtin-skills/security-review/SPEC.md +77 -0
  263. package/src/builtin-skills/security-review/references/github-workflows.md +186 -0
  264. package/src/builtin-skills/security-review/references/javascript-typescript.md +69 -0
  265. package/src/builtin-skills/security-review/references/python.md +70 -0
  266. package/src/internal-skills/skill-writer/EVAL.md +124 -0
  267. package/src/internal-skills/skill-writer/SKILL.md +159 -0
  268. package/src/internal-skills/skill-writer/SOURCES.md +94 -0
  269. package/src/internal-skills/skill-writer/SPEC.md +153 -0
  270. package/src/internal-skills/skill-writer/references/artifact-layouts/argument-driven-skill-layout.md +32 -0
  271. package/src/internal-skills/skill-writer/references/artifact-layouts/asset-template-skill-layout.md +30 -0
  272. package/src/internal-skills/skill-writer/references/artifact-layouts/inline-skill-layout.md +28 -0
  273. package/src/internal-skills/skill-writer/references/artifact-layouts/reference-backed-skill-layout.md +35 -0
  274. package/src/internal-skills/skill-writer/references/artifact-layouts/script-backed-skill-layout.md +31 -0
  275. package/src/internal-skills/skill-writer/references/authoring-path.md +91 -0
  276. package/src/internal-skills/skill-writer/references/claude-code/argument-substitutions.md +20 -0
  277. package/src/internal-skills/skill-writer/references/claude-code/dynamic-context.md +16 -0
  278. package/src/internal-skills/skill-writer/references/claude-code/frontmatter-and-invocation.md +33 -0
  279. package/src/internal-skills/skill-writer/references/claude-code/hook-backed-skills.md +28 -0
  280. package/src/internal-skills/skill-writer/references/claude-code/subagent-fork-skills.md +22 -0
  281. package/src/internal-skills/skill-writer/references/description-optimization.md +28 -0
  282. package/src/internal-skills/skill-writer/references/design-principles.md +74 -0
  283. package/src/internal-skills/skill-writer/references/evaluation-path.md +73 -0
  284. package/src/internal-skills/skill-writer/references/examples/documentation-skill.md +70 -0
  285. package/src/internal-skills/skill-writer/references/examples/evaluator-loop-skill.md +38 -0
  286. package/src/internal-skills/skill-writer/references/examples/hook-backed-skill.md +39 -0
  287. package/src/internal-skills/skill-writer/references/examples/router-skill.md +41 -0
  288. package/src/internal-skills/skill-writer/references/examples/security-review-skill.md +69 -0
  289. package/src/internal-skills/skill-writer/references/examples/subagent-fork-skill.md +39 -0
  290. package/src/internal-skills/skill-writer/references/examples/workflow-process-skill.md +65 -0
  291. package/src/internal-skills/skill-writer/references/execution-shapes.md +68 -0
  292. package/src/internal-skills/skill-writer/references/iteration-evidence.md +82 -0
  293. package/src/internal-skills/skill-writer/references/iteration-path.md +40 -0
  294. package/src/internal-skills/skill-writer/references/mode-selection.md +67 -0
  295. package/src/internal-skills/skill-writer/references/output-contracts.md +68 -0
  296. package/src/internal-skills/skill-writer/references/reference-architecture.md +71 -0
  297. package/src/internal-skills/skill-writer/references/registration-validation.md +67 -0
  298. package/src/internal-skills/skill-writer/references/source-discovery.md +60 -0
  299. package/src/internal-skills/skill-writer/references/spec-template.md +118 -0
  300. package/src/internal-skills/skill-writer/references/structure-troubleshooting.md +111 -0
  301. package/src/internal-skills/skill-writer/references/synthesis-path.md +119 -0
  302. package/src/internal-skills/skill-writer/references/workflow-mechanics/evaluator-loops.md +25 -0
  303. package/src/internal-skills/skill-writer/references/workflow-mechanics/orchestrator-workers.md +25 -0
  304. package/src/internal-skills/skill-writer/references/workflow-mechanics/parallel-workflows.md +21 -0
  305. package/src/internal-skills/skill-writer/references/workflow-mechanics/plan-validate-execute.md +26 -0
  306. package/src/internal-skills/skill-writer/references/workflow-mechanics/prompt-chaining.md +24 -0
  307. package/src/internal-skills/skill-writer/references/workflow-mechanics/routing-workflows.md +28 -0
  308. package/src/internal-skills/skill-writer/references/workflow-mechanics/validation-loops.md +26 -0
  309. package/src/internal-skills/skill-writer/scripts/quick_validate.py +158 -0
  310. package/src/internal-skills/skill-writer/scripts/quick_validate_test.py +79 -0
@@ -1,5 +1,5 @@
1
1
  import { readFileSync, existsSync } from 'node:fs';
2
- import { join } from 'node:path';
2
+ import { join, normalize } from 'node:path';
3
3
  import { parse as parseToml } from 'smol-toml';
4
4
  import { Sentry } from '../sentry.js';
5
5
  import { WardenConfigSchema, } from './schema.js';
@@ -9,9 +9,33 @@ export class ConfigLoadError extends Error {
9
9
  this.name = 'ConfigLoadError';
10
10
  }
11
11
  }
12
- export function loadWardenConfig(repoPath) {
12
+ function parseConfigContent(content) {
13
+ let rawConfig;
14
+ try {
15
+ rawConfig = parseToml(content);
16
+ }
17
+ catch (error) {
18
+ throw new ConfigLoadError('Failed to parse TOML configuration', { cause: error });
19
+ }
20
+ // Detect legacy [[triggers]] format and provide migration guidance
21
+ if (rawConfig && typeof rawConfig === 'object' && 'triggers' in rawConfig) {
22
+ throw new ConfigLoadError('Legacy [[triggers]] format detected. Migrate to [[skills]] format:\n\n' +
23
+ ' [[triggers]] → [[skills]]\n' +
24
+ ' name = "my-skill" name = "my-skill"\n' +
25
+ ' event = "pull_request" → [[skills.triggers]]\n' +
26
+ ' skill = "my-skill" type = "pull_request"\n' +
27
+ ' actions = [...] actions = [...]\n\n' +
28
+ 'See the migration guide for details.');
29
+ }
30
+ const result = WardenConfigSchema.safeParse(rawConfig);
31
+ if (!result.success) {
32
+ const issues = result.error.issues.map(i => ` - ${i.path.join('.')}: ${i.message}`).join('\n');
33
+ throw new ConfigLoadError(`Invalid configuration:\n${issues}`);
34
+ }
35
+ return result.data;
36
+ }
37
+ export function loadWardenConfigFile(configPath) {
13
38
  return Sentry.startSpan({ op: 'config.load', name: 'load config' }, () => {
14
- const configPath = join(repoPath, 'warden.toml');
15
39
  if (!existsSync(configPath)) {
16
40
  throw new ConfigLoadError(`Configuration file not found: ${configPath}`);
17
41
  }
@@ -22,37 +46,164 @@ export function loadWardenConfig(repoPath) {
22
46
  catch (error) {
23
47
  throw new ConfigLoadError(`Failed to read configuration file: ${configPath}`, { cause: error });
24
48
  }
25
- let rawConfig;
26
- try {
27
- rawConfig = parseToml(content);
28
- }
29
- catch (error) {
30
- throw new ConfigLoadError('Failed to parse TOML configuration', { cause: error });
49
+ return parseConfigContent(content);
50
+ });
51
+ }
52
+ export function loadWardenConfig(configDir) {
53
+ return loadWardenConfigFile(join(configDir, 'warden.toml'));
54
+ }
55
+ function mergeArray(base, overlay) {
56
+ const merged = [...(base ?? []), ...(overlay ?? [])];
57
+ return merged.length > 0 ? merged : undefined;
58
+ }
59
+ function mergeCoalesceConfig(base, overlay) {
60
+ if (!base)
61
+ return overlay;
62
+ if (!overlay)
63
+ return base;
64
+ return { ...base, ...overlay };
65
+ }
66
+ function mergeChunkingConfig(base, overlay) {
67
+ if (!base)
68
+ return overlay;
69
+ if (!overlay)
70
+ return base;
71
+ return {
72
+ ...base,
73
+ ...overlay,
74
+ filePatterns: mergeArray(base.filePatterns, overlay.filePatterns),
75
+ coalesce: mergeCoalesceConfig(base.coalesce, overlay.coalesce),
76
+ };
77
+ }
78
+ function mergeNestedConfig(base, overlay) {
79
+ if (!base)
80
+ return overlay;
81
+ if (!overlay)
82
+ return base;
83
+ return { ...base, ...overlay };
84
+ }
85
+ function mergeDefaults(base, overlay) {
86
+ if (!base)
87
+ return overlay;
88
+ if (!overlay)
89
+ return base;
90
+ return {
91
+ ...base,
92
+ ...overlay,
93
+ agent: mergeNestedConfig(base.agent, overlay.agent),
94
+ auxiliary: mergeNestedConfig(base.auxiliary, overlay.auxiliary),
95
+ synthesis: mergeNestedConfig(base.synthesis, overlay.synthesis),
96
+ verification: mergeNestedConfig(base.verification, overlay.verification),
97
+ ignorePaths: mergeArray(base.ignorePaths, overlay.ignorePaths),
98
+ chunking: mergeChunkingConfig(base.chunking, overlay.chunking),
99
+ };
100
+ }
101
+ function mergeRunnerConfig(base, overlay) {
102
+ if (!base)
103
+ return overlay;
104
+ if (!overlay)
105
+ return base;
106
+ return { ...base, ...overlay };
107
+ }
108
+ function mergeLogsConfig(base, overlay) {
109
+ if (!base)
110
+ return overlay;
111
+ if (!overlay)
112
+ return base;
113
+ return { ...base, ...overlay };
114
+ }
115
+ function inheritRepoLayerDefaults(base, repo) {
116
+ const inherited = { ...(repo ?? {}) };
117
+ if (base?.runtime !== undefined && inherited.runtime === undefined) {
118
+ inherited.runtime = base.runtime;
119
+ }
120
+ const verification = mergeNestedConfig(base?.verification, repo?.verification);
121
+ if (verification) {
122
+ inherited.verification = verification;
123
+ }
124
+ return Object.keys(inherited).length > 0 ? inherited : undefined;
125
+ }
126
+ export function mergeWardenConfigs(base, overlay) {
127
+ const mergedConfig = {
128
+ version: 1,
129
+ defaults: mergeDefaults(base.defaults, overlay.defaults),
130
+ skills: [...base.skills, ...overlay.skills],
131
+ runner: mergeRunnerConfig(base.runner, overlay.runner),
132
+ logs: mergeLogsConfig(base.logs, overlay.logs),
133
+ };
134
+ const result = WardenConfigSchema.safeParse(mergedConfig);
135
+ if (!result.success) {
136
+ const issues = result.error.issues.map(i => ` - ${i.path.join('.')}: ${i.message}`).join('\n');
137
+ throw new ConfigLoadError(`Invalid merged configuration:\n${issues}`);
138
+ }
139
+ return result.data;
140
+ }
141
+ export function buildSkillRootsByName(repoPath, layered, baseSkillRoot) {
142
+ const baseRoots = {};
143
+ const repoRoots = {};
144
+ if (layered.baseConfig) {
145
+ const localBaseSkills = layered.baseConfig.skills.filter((skill) => !skill.remote);
146
+ if (localBaseSkills.length > 0 && !baseSkillRoot) {
147
+ throw new ConfigLoadError('base-skill-root is required when the base config defines local skills');
31
148
  }
32
- // Detect legacy [[triggers]] format and provide migration guidance
33
- if (rawConfig && typeof rawConfig === 'object' && 'triggers' in rawConfig) {
34
- throw new ConfigLoadError('Legacy [[triggers]] format detected. Migrate to [[skills]] format:\n\n' +
35
- ' [[triggers]] → [[skills]]\n' +
36
- ' name = "my-skill" name = "my-skill"\n' +
37
- ' event = "pull_request" → [[skills.triggers]]\n' +
38
- ' skill = "my-skill" type = "pull_request"\n' +
39
- ' actions = [...] actions = [...]\n\n' +
40
- 'See the migration guide for details.');
149
+ if (baseSkillRoot) {
150
+ const resolvedBaseSkillRoot = join(repoPath, baseSkillRoot);
151
+ if (!existsSync(resolvedBaseSkillRoot)) {
152
+ throw new ConfigLoadError(`Skill root not found: ${resolvedBaseSkillRoot}`);
153
+ }
154
+ for (const skill of localBaseSkills) {
155
+ baseRoots[skill.name] = resolvedBaseSkillRoot;
156
+ }
41
157
  }
42
- const result = WardenConfigSchema.safeParse(rawConfig);
43
- if (!result.success) {
44
- const issues = result.error.issues.map(i => ` - ${i.path.join('.')}: ${i.message}`).join('\n');
45
- throw new ConfigLoadError(`Invalid configuration:\n${issues}`);
158
+ }
159
+ if (layered.repoConfig) {
160
+ for (const skill of layered.repoConfig.skills) {
161
+ if (!skill.remote) {
162
+ repoRoots[skill.name] = repoPath;
163
+ }
46
164
  }
47
- return result.data;
48
- });
165
+ }
166
+ const result = {};
167
+ if (Object.keys(baseRoots).length > 0) {
168
+ result.base = baseRoots;
169
+ }
170
+ if (Object.keys(repoRoots).length > 0) {
171
+ result.repo = repoRoots;
172
+ }
173
+ return result.base || result.repo ? result : undefined;
174
+ }
175
+ export function loadLayeredWardenConfig(repoPath, options = {}) {
176
+ const repoConfigPath = join(repoPath, options.configPath ?? 'warden.toml');
177
+ const baseConfigPath = options.baseConfigPath
178
+ ? join(repoPath, options.baseConfigPath)
179
+ : undefined;
180
+ if (baseConfigPath && !existsSync(baseConfigPath)) {
181
+ throw new ConfigLoadError(`Configuration file not found: ${baseConfigPath}`);
182
+ }
183
+ if (!baseConfigPath) {
184
+ const repoConfig = loadWardenConfigFile(repoConfigPath);
185
+ return { config: repoConfig, repoConfig };
186
+ }
187
+ if (normalize(baseConfigPath) === normalize(repoConfigPath)) {
188
+ throw new ConfigLoadError('base-config-path and config-path must point to different files');
189
+ }
190
+ const baseConfig = loadWardenConfigFile(baseConfigPath);
191
+ if (!existsSync(repoConfigPath)) {
192
+ return { config: baseConfig, baseConfig };
193
+ }
194
+ const repoConfig = loadWardenConfigFile(repoConfigPath);
195
+ return {
196
+ config: mergeWardenConfigs(baseConfig, repoConfig),
197
+ baseConfig,
198
+ repoConfig,
199
+ };
49
200
  }
50
201
  /**
51
202
  * Convert empty strings to undefined.
52
203
  * GitHub Actions substitutes unconfigured secrets with empty strings,
53
204
  * so we need to treat '' as "not set" for optional config values.
54
205
  */
55
- function emptyToUndefined(value) {
206
+ export function emptyToUndefined(value) {
56
207
  return value === '' ? undefined : value;
57
208
  }
58
209
  /**
@@ -63,20 +214,30 @@ function emptyToUndefined(value) {
63
214
  * Model precedence (highest to lowest):
64
215
  * 1. trigger-level model
65
216
  * 2. skill-level model
66
- * 3. defaults.model (warden.toml [defaults])
67
- * 4. cliModel (--model flag)
68
- * 5. WARDEN_MODEL env var
69
- * 6. SDK default (not set here)
217
+ * 3. defaults.agent.model
218
+ * 4. defaults.model (legacy warden.toml [defaults])
219
+ * 5. cliModel (--model flag)
220
+ * 6. WARDEN_MODEL env var
221
+ * 7. SDK default (not set here)
70
222
  */
71
- export function resolveSkillConfigs(config, cliModel) {
223
+ export function resolveSkillConfigs(config, cliModel, skillRootsByName) {
72
224
  const defaults = config.defaults;
73
225
  const envModel = emptyToUndefined(process.env['WARDEN_MODEL']);
74
226
  const result = [];
227
+ const runtime = defaults?.runtime ?? 'claude';
228
+ const auxiliaryModel = emptyToUndefined(defaults?.auxiliary?.model);
229
+ const synthesisModel = emptyToUndefined(defaults?.synthesis?.model) ??
230
+ auxiliaryModel;
231
+ const auxiliaryMaxRetries = defaults?.auxiliary?.maxRetries ??
232
+ defaults?.auxiliaryMaxRetries;
233
+ const verifyFindings = defaults?.verification?.enabled !== false;
75
234
  for (const skill of config.skills) {
76
235
  const baseModel = emptyToUndefined(skill.model) ??
236
+ emptyToUndefined(defaults?.agent?.model) ??
77
237
  emptyToUndefined(defaults?.model) ??
78
238
  emptyToUndefined(cliModel) ??
79
239
  envModel;
240
+ const baseMaxTurns = skill.maxTurns ?? defaults?.agent?.maxTurns ?? defaults?.maxTurns;
80
241
  // Merge ignorePaths: skill-level + defaults (additive, not override)
81
242
  const mergedIgnorePaths = [
82
243
  ...(defaults?.ignorePaths ?? []),
@@ -93,6 +254,7 @@ export function resolveSkillConfigs(config, cliModel) {
93
254
  skill: skill.name,
94
255
  type: '*',
95
256
  remote: skill.remote,
257
+ skillRoot: skillRootsByName?.[skill.name],
96
258
  filters,
97
259
  failOn: skill.failOn ?? defaults?.failOn,
98
260
  reportOn: skill.reportOn ?? defaults?.reportOn,
@@ -101,8 +263,15 @@ export function resolveSkillConfigs(config, cliModel) {
101
263
  requestChanges: skill.requestChanges ?? defaults?.requestChanges,
102
264
  failCheck: skill.failCheck ?? defaults?.failCheck,
103
265
  model: baseModel,
104
- maxTurns: skill.maxTurns ?? defaults?.maxTurns,
266
+ maxTurns: baseMaxTurns,
267
+ runtime,
268
+ auxiliaryModel,
269
+ synthesisModel,
270
+ auxiliaryMaxRetries,
271
+ verifyFindings,
105
272
  minConfidence: skill.minConfidence ?? defaults?.minConfidence,
273
+ batchDelayMs: defaults?.batchDelayMs,
274
+ maxContextFiles: defaults?.chunking?.maxContextFiles,
106
275
  });
107
276
  }
108
277
  else {
@@ -113,6 +282,7 @@ export function resolveSkillConfigs(config, cliModel) {
113
282
  type: trigger.type,
114
283
  actions: trigger.actions,
115
284
  remote: skill.remote,
285
+ skillRoot: skillRootsByName?.[skill.name],
116
286
  filters,
117
287
  // 3-level merge: trigger > skill > defaults
118
288
  failOn: trigger.failOn ?? skill.failOn ?? defaults?.failOn,
@@ -122,8 +292,15 @@ export function resolveSkillConfigs(config, cliModel) {
122
292
  requestChanges: trigger.requestChanges ?? skill.requestChanges ?? defaults?.requestChanges,
123
293
  failCheck: trigger.failCheck ?? skill.failCheck ?? defaults?.failCheck,
124
294
  model: emptyToUndefined(trigger.model) ?? baseModel,
125
- maxTurns: trigger.maxTurns ?? skill.maxTurns ?? defaults?.maxTurns,
295
+ maxTurns: trigger.maxTurns ?? baseMaxTurns,
296
+ runtime,
297
+ auxiliaryModel,
298
+ synthesisModel,
299
+ auxiliaryMaxRetries,
300
+ verifyFindings,
126
301
  minConfidence: trigger.minConfidence ?? skill.minConfidence ?? defaults?.minConfidence,
302
+ batchDelayMs: defaults?.batchDelayMs,
303
+ maxContextFiles: defaults?.chunking?.maxContextFiles,
127
304
  schedule: trigger.schedule,
128
305
  });
129
306
  }
@@ -131,4 +308,23 @@ export function resolveSkillConfigs(config, cliModel) {
131
308
  }
132
309
  return result;
133
310
  }
311
+ export function resolveLayeredSkillConfigs(layered, cliModel, skillRootsByName) {
312
+ if (layered.baseConfig && layered.repoConfig) {
313
+ const repoConfigWithInheritedDefaults = {
314
+ ...layered.repoConfig,
315
+ defaults: inheritRepoLayerDefaults(layered.baseConfig.defaults, layered.repoConfig.defaults),
316
+ };
317
+ return [
318
+ ...resolveSkillConfigs(layered.baseConfig, cliModel, skillRootsByName?.base),
319
+ ...resolveSkillConfigs(repoConfigWithInheritedDefaults, cliModel, skillRootsByName?.repo),
320
+ ];
321
+ }
322
+ if (layered.baseConfig) {
323
+ return resolveSkillConfigs(layered.baseConfig, cliModel, skillRootsByName?.base);
324
+ }
325
+ if (layered.repoConfig) {
326
+ return resolveSkillConfigs(layered.repoConfig, cliModel, skillRootsByName?.repo);
327
+ }
328
+ return resolveSkillConfigs(layered.config, cliModel, skillRootsByName?.repo ?? skillRootsByName?.base);
329
+ }
134
330
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { RuntimeNameSchema, type RuntimeName } from '../sdk/runtimes/types.js';
2
3
  export declare const ToolNameSchema: z.ZodEnum<{
3
4
  Read: "Read";
4
5
  Write: "Write";
@@ -74,6 +75,26 @@ export declare const TriggerTypeSchema: z.ZodEnum<{
74
75
  local: "local";
75
76
  }>;
76
77
  export type TriggerType = z.infer<typeof TriggerTypeSchema>;
78
+ export { RuntimeNameSchema };
79
+ export type { RuntimeName };
80
+ export declare const AgentRuntimeConfigSchema: z.ZodObject<{
81
+ model: z.ZodOptional<z.ZodString>;
82
+ maxTurns: z.ZodOptional<z.ZodNumber>;
83
+ }, z.core.$strict>;
84
+ export type AgentRuntimeConfig = z.infer<typeof AgentRuntimeConfigSchema>;
85
+ export declare const AuxiliaryRuntimeConfigSchema: z.ZodObject<{
86
+ model: z.ZodOptional<z.ZodString>;
87
+ maxRetries: z.ZodOptional<z.ZodNumber>;
88
+ }, z.core.$strict>;
89
+ export type AuxiliaryRuntimeConfig = z.infer<typeof AuxiliaryRuntimeConfigSchema>;
90
+ export declare const SynthesisRuntimeConfigSchema: z.ZodObject<{
91
+ model: z.ZodOptional<z.ZodString>;
92
+ }, z.core.$strict>;
93
+ export type SynthesisRuntimeConfig = z.infer<typeof SynthesisRuntimeConfigSchema>;
94
+ export declare const VerificationConfigSchema: z.ZodObject<{
95
+ enabled: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strict>;
97
+ export type VerificationConfig = z.infer<typeof VerificationConfigSchema>;
77
98
  export declare const SkillTriggerSchema: z.ZodObject<{
78
99
  type: z.ZodEnum<{
79
100
  pull_request: "pull_request";
@@ -235,6 +256,23 @@ export declare const DefaultsSchema: z.ZodObject<{
235
256
  failCheck: z.ZodOptional<z.ZodBoolean>;
236
257
  model: z.ZodOptional<z.ZodString>;
237
258
  maxTurns: z.ZodOptional<z.ZodNumber>;
259
+ runtime: z.ZodOptional<z.ZodEnum<{
260
+ claude: "claude";
261
+ }>>;
262
+ agent: z.ZodOptional<z.ZodObject<{
263
+ model: z.ZodOptional<z.ZodString>;
264
+ maxTurns: z.ZodOptional<z.ZodNumber>;
265
+ }, z.core.$strict>>;
266
+ auxiliary: z.ZodOptional<z.ZodObject<{
267
+ model: z.ZodOptional<z.ZodString>;
268
+ maxRetries: z.ZodOptional<z.ZodNumber>;
269
+ }, z.core.$strict>>;
270
+ synthesis: z.ZodOptional<z.ZodObject<{
271
+ model: z.ZodOptional<z.ZodString>;
272
+ }, z.core.$strict>>;
273
+ verification: z.ZodOptional<z.ZodObject<{
274
+ enabled: z.ZodOptional<z.ZodBoolean>;
275
+ }, z.core.$strict>>;
238
276
  minConfidence: z.ZodOptional<z.ZodEnum<{
239
277
  high: "high";
240
278
  low: "low";
@@ -299,6 +337,23 @@ export declare const WardenConfigSchema: z.ZodObject<{
299
337
  failCheck: z.ZodOptional<z.ZodBoolean>;
300
338
  model: z.ZodOptional<z.ZodString>;
301
339
  maxTurns: z.ZodOptional<z.ZodNumber>;
340
+ runtime: z.ZodOptional<z.ZodEnum<{
341
+ claude: "claude";
342
+ }>>;
343
+ agent: z.ZodOptional<z.ZodObject<{
344
+ model: z.ZodOptional<z.ZodString>;
345
+ maxTurns: z.ZodOptional<z.ZodNumber>;
346
+ }, z.core.$strict>>;
347
+ auxiliary: z.ZodOptional<z.ZodObject<{
348
+ model: z.ZodOptional<z.ZodString>;
349
+ maxRetries: z.ZodOptional<z.ZodNumber>;
350
+ }, z.core.$strict>>;
351
+ synthesis: z.ZodOptional<z.ZodObject<{
352
+ model: z.ZodOptional<z.ZodString>;
353
+ }, z.core.$strict>>;
354
+ verification: z.ZodOptional<z.ZodObject<{
355
+ enabled: z.ZodOptional<z.ZodBoolean>;
356
+ }, z.core.$strict>>;
302
357
  minConfidence: z.ZodOptional<z.ZodEnum<{
303
358
  high: "high";
304
359
  low: "low";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;EASzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,oBAAoB;;;;iBAO/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,eAAO,MAAM,iBAAiB;;;;EAAgD,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,kBAAkB;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,iBAAiB;;;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,oBAAoB;;;;iBAO/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAO/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,oBAAoB;;;;EAAmC,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,eAAO,MAAM,gBAAgB;;;;;;;iBAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiC3B,CAAC;AACL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { RuntimeNameSchema } from '../sdk/runtimes/types.js';
2
3
  import { SeverityThresholdSchema, ConfidenceThresholdSchema } from '../types/index.js';
3
4
  // Tool names that can be allowed/denied
4
5
  export const ToolNameSchema = z.enum([
@@ -36,6 +37,27 @@ export const ScheduleConfigSchema = z.object({
36
37
  });
37
38
  // Trigger type: where the trigger runs
38
39
  export const TriggerTypeSchema = z.enum(['pull_request', 'local', 'schedule']);
40
+ export { RuntimeNameSchema };
41
+ export const AgentRuntimeConfigSchema = z.object({
42
+ /** Model for repo-aware skill execution. Overrides legacy defaults.model. */
43
+ model: z.string().optional(),
44
+ /** Maximum agentic turns for repo-aware skill execution. Overrides legacy defaults.maxTurns. */
45
+ maxTurns: z.number().int().positive().optional(),
46
+ }).strict();
47
+ export const AuxiliaryRuntimeConfigSchema = z.object({
48
+ /** Model for auxiliary structured model calls. Uses runtime default if omitted. */
49
+ model: z.string().optional(),
50
+ /** Max retries for auxiliary structured model calls. Overrides legacy auxiliaryMaxRetries. */
51
+ maxRetries: z.number().int().positive().optional(),
52
+ }).strict();
53
+ export const SynthesisRuntimeConfigSchema = z.object({
54
+ /** Model for post-analysis synthesis/consolidation. Falls back to auxiliary.model if omitted. */
55
+ model: z.string().optional(),
56
+ }).strict();
57
+ export const VerificationConfigSchema = z.object({
58
+ /** Verify candidate findings in a second read-only pass. Defaults to true. */
59
+ enabled: z.boolean().optional(),
60
+ }).strict();
39
61
  // Skill trigger definition (nested under [[skills.triggers]])
40
62
  export const SkillTriggerSchema = z.object({
41
63
  /** Trigger type: pull_request (GitHub), local (CLI), or schedule (cron) */
@@ -85,7 +107,7 @@ export const SkillConfigSchema = z.object({
85
107
  requestChanges: z.boolean().optional(),
86
108
  /** Fail the check run when findings exceed failOn */
87
109
  failCheck: z.boolean().optional(),
88
- /** Model to use for this skill (e.g., 'claude-sonnet-4-20250514'). Uses SDK default if not specified. */
110
+ /** Model to use for this skill (e.g., 'claude-sonnet-4-5'). Uses SDK default if not specified. */
89
111
  model: z.string().optional(),
90
112
  /** Maximum agentic turns (API round-trips) per hunk analysis. Overrides defaults.maxTurns. */
91
113
  maxTurns: z.number().int().positive().optional(),
@@ -137,10 +159,20 @@ export const DefaultsSchema = z.object({
137
159
  requestChanges: z.boolean().optional(),
138
160
  /** Fail the check run when findings exceed failOn. Default: false */
139
161
  failCheck: z.boolean().optional(),
140
- /** Default model for all skills (e.g., 'claude-sonnet-4-20250514') */
162
+ /** Default model for all skills (e.g., 'claude-sonnet-4-5') */
141
163
  model: z.string().optional(),
142
164
  /** Maximum agentic turns (API round-trips) per hunk analysis. Default: 50 */
143
165
  maxTurns: z.number().int().positive().optional(),
166
+ /** Runtime backend for all model-backed execution. Default: claude */
167
+ runtime: RuntimeNameSchema.optional(),
168
+ /** Model defaults for repo-aware skill execution. */
169
+ agent: AgentRuntimeConfigSchema.optional(),
170
+ /** Model defaults for auxiliary structured model calls. */
171
+ auxiliary: AuxiliaryRuntimeConfigSchema.optional(),
172
+ /** Model defaults for post-analysis synthesis/consolidation. */
173
+ synthesis: SynthesisRuntimeConfigSchema.optional(),
174
+ /** Candidate finding verification. Enabled by default; set enabled=false to opt out. */
175
+ verification: VerificationConfigSchema.optional(),
144
176
  /** Minimum confidence level for findings. Findings below this are filtered from output. Default: medium */
145
177
  minConfidence: ConfidenceThresholdSchema.optional(),
146
178
  /** Path patterns to exclude from all skills */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import type { DiffHunk, ParsedDiff } from './parser.js';
2
+ import type { DiffContextSource } from '../types/index.js';
3
+ export interface ExpandContextOptions {
4
+ /** Number of context lines to read before and after each hunk */
5
+ contextLines?: number;
6
+ /** Source tree to read hunk context from */
7
+ contentSource?: DiffContextSource;
8
+ }
2
9
  /** Clear the file cache (useful for testing or long-running processes) */
3
10
  export declare function clearFileCache(): void;
4
11
  export interface HunkWithContext {
@@ -18,11 +25,11 @@ export interface HunkWithContext {
18
25
  /**
19
26
  * Expand a hunk with surrounding context from the actual file.
20
27
  */
21
- export declare function expandHunkContext(repoPath: string, filename: string, hunk: DiffHunk, contextLines?: number): HunkWithContext;
28
+ export declare function expandHunkContext(repoPath: string, filename: string, hunk: DiffHunk, options?: number | ExpandContextOptions): HunkWithContext;
22
29
  /**
23
30
  * Expand all hunks in a parsed diff with context.
24
31
  */
25
- export declare function expandDiffContext(repoPath: string, diff: ParsedDiff, contextLines?: number): HunkWithContext[];
32
+ export declare function expandDiffContext(repoPath: string, diff: ParsedDiff, options?: number | ExpandContextOptions): HunkWithContext[];
26
33
  /**
27
34
  * Format a hunk with context for LLM analysis.
28
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/diff/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMxD,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAyBD,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,+CAA+C;IAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2DD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,YAAY,SAAK,GAChB,eAAe,CAgCjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,YAAY,SAAK,GAChB,eAAe,EAAE,CAInB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAwCtE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/diff/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,IAAI,CAErC;AA2FD,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,+CAA+C;IAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6DD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,MAAM,GAAG,oBAAyB,GAC1C,eAAe,CAoCjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,MAAM,GAAG,oBAAyB,GAC1C,eAAe,EAAE,CAInB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAwCtE"}