@sentry/warden 0.3.0 → 0.5.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.
- package/.claude-plugin/marketplace.json +20 -0
- package/README.md +1 -1
- package/dist/cli/args.d.ts +3 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -4
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +51 -31
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +12 -14
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +3 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/git.d.ts +4 -0
- package/dist/cli/git.d.ts.map +1 -1
- package/dist/cli/git.js +7 -1
- package/dist/cli/git.js.map +1 -1
- package/dist/cli/index.js +11 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +41 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output/formatters.d.ts +18 -3
- package/dist/cli/output/formatters.d.ts.map +1 -1
- package/dist/cli/output/formatters.js +32 -7
- package/dist/cli/output/formatters.js.map +1 -1
- package/dist/cli/output/index.d.ts +1 -1
- package/dist/cli/output/index.d.ts.map +1 -1
- package/dist/cli/output/index.js +1 -1
- package/dist/cli/output/index.js.map +1 -1
- package/dist/cli/output/ink-runner.d.ts.map +1 -1
- package/dist/cli/output/ink-runner.js +29 -8
- package/dist/cli/output/ink-runner.js.map +1 -1
- package/dist/cli/output/jsonl.d.ts +39 -1
- package/dist/cli/output/jsonl.d.ts.map +1 -1
- package/dist/cli/output/jsonl.js +12 -0
- package/dist/cli/output/jsonl.js.map +1 -1
- package/dist/cli/output/reporter.d.ts +2 -2
- package/dist/cli/output/reporter.d.ts.map +1 -1
- package/dist/cli/output/reporter.js +70 -37
- package/dist/cli/output/reporter.js.map +1 -1
- package/dist/cli/output/tasks.d.ts +12 -0
- package/dist/cli/output/tasks.d.ts.map +1 -1
- package/dist/cli/output/tasks.js +157 -42
- package/dist/cli/output/tasks.js.map +1 -1
- package/dist/cli/output/tty.d.ts +9 -0
- package/dist/cli/output/tty.d.ts.map +1 -1
- package/dist/cli/output/tty.js +13 -0
- package/dist/cli/output/tty.js.map +1 -1
- package/dist/cli/output/verbosity.d.ts +2 -1
- package/dist/cli/output/verbosity.d.ts.map +1 -1
- package/dist/cli/output/verbosity.js +3 -2
- package/dist/cli/output/verbosity.js.map +1 -1
- package/dist/cli/terminal.d.ts +2 -2
- package/dist/cli/terminal.d.ts.map +1 -1
- package/dist/cli/terminal.js +33 -20
- package/dist/cli/terminal.js.map +1 -1
- package/dist/config/loader.d.ts +40 -12
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +71 -23
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +147 -111
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +67 -49
- package/dist/config/schema.js.map +1 -1
- package/dist/config/writer.d.ts +5 -5
- package/dist/config/writer.d.ts.map +1 -1
- package/dist/config/writer.js +76 -45
- package/dist/config/writer.js.map +1 -1
- package/dist/event/context.d.ts.map +1 -1
- package/dist/event/context.js +3 -1
- package/dist/event/context.js.map +1 -1
- package/dist/event/schedule-context.d.ts.map +1 -1
- package/dist/event/schedule-context.js +1 -0
- package/dist/event/schedule-context.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/output/dedup.d.ts +3 -1
- package/dist/output/dedup.d.ts.map +1 -1
- package/dist/output/dedup.js +25 -32
- package/dist/output/dedup.js.map +1 -1
- package/dist/output/github-checks.d.ts +6 -4
- package/dist/output/github-checks.d.ts.map +1 -1
- package/dist/output/github-checks.js +67 -88
- package/dist/output/github-checks.js.map +1 -1
- package/dist/output/github-issues.d.ts.map +1 -1
- package/dist/output/github-issues.js +9 -14
- package/dist/output/github-issues.js.map +1 -1
- package/dist/output/issue-renderer.js +1 -1
- package/dist/output/issue-renderer.js.map +1 -1
- package/dist/output/renderer.d.ts.map +1 -1
- package/dist/output/renderer.js +18 -31
- package/dist/output/renderer.js.map +1 -1
- package/dist/output/stale.d.ts +4 -0
- package/dist/output/stale.d.ts.map +1 -1
- package/dist/output/stale.js +7 -2
- package/dist/output/stale.js.map +1 -1
- package/dist/output/types.d.ts +2 -7
- package/dist/output/types.d.ts.map +1 -1
- package/dist/sdk/analyze.d.ts.map +1 -1
- package/dist/sdk/analyze.js +89 -24
- package/dist/sdk/analyze.js.map +1 -1
- package/dist/sdk/extract.d.ts +12 -2
- package/dist/sdk/extract.d.ts.map +1 -1
- package/dist/sdk/extract.js +22 -3
- package/dist/sdk/extract.js.map +1 -1
- package/dist/sdk/haiku.d.ts +55 -0
- package/dist/sdk/haiku.d.ts.map +1 -0
- package/dist/sdk/haiku.js +190 -0
- package/dist/sdk/haiku.js.map +1 -0
- package/dist/sdk/model-pricing.json +104 -0
- package/dist/sdk/pricing.d.ts +17 -0
- package/dist/sdk/pricing.d.ts.map +1 -0
- package/dist/sdk/pricing.js +41 -0
- package/dist/sdk/pricing.js.map +1 -0
- package/dist/sdk/runner.d.ts +4 -3
- package/dist/sdk/runner.d.ts.map +1 -1
- package/dist/sdk/runner.js +4 -2
- package/dist/sdk/runner.js.map +1 -1
- package/dist/sdk/types.d.ts +15 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/types.js.map +1 -1
- package/dist/sdk/usage.d.ts +13 -1
- package/dist/sdk/usage.d.ts.map +1 -1
- package/dist/sdk/usage.js +46 -0
- package/dist/sdk/usage.js.map +1 -1
- package/dist/triggers/matcher.d.ts +18 -3
- package/dist/triggers/matcher.d.ts.map +1 -1
- package/dist/triggers/matcher.js +75 -18
- package/dist/triggers/matcher.js.map +1 -1
- package/dist/types/index.d.ts +42 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +14 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +4 -2
- package/plugins/.claude-plugin/marketplace.json +14 -0
- package/plugins/warden/.claude-plugin/plugin.json +7 -0
- package/plugins/warden/skills/warden/SKILL.md +78 -0
- package/plugins/warden/skills/warden/references/cli-reference.md +144 -0
- package/plugins/warden/skills/warden/references/config-schema.md +111 -0
- package/plugins/warden/skills/warden/references/configuration.md +108 -0
- package/plugins/warden/skills/warden/references/creating-skills.md +85 -0
- package/scripts/update-pricing.ts +88 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/triggers/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/triggers/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhG,gDAAgD;AAChD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA8CD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAsCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpD,YAAY,CAkCd;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,YAAY,EACrB,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GACnC,OAAO,CAoCT;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAIlF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAI7F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAMhF"}
|
package/dist/triggers/matcher.js
CHANGED
|
@@ -56,26 +56,12 @@ export function matchGlob(pattern, path) {
|
|
|
56
56
|
return globToRegex(pattern).test(path);
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
* Check if a
|
|
59
|
+
* Check if a file list matches the path filters.
|
|
60
|
+
* Returns true if paths match (or no filters), false if all files are excluded.
|
|
60
61
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
// Schedule events don't have actions - they match based on whether
|
|
66
|
-
// any files match the paths filter (context was already built with matching files)
|
|
67
|
-
if (trigger.event === 'schedule') {
|
|
68
|
-
return (context.pullRequest?.files.length ?? 0) > 0;
|
|
69
|
-
}
|
|
70
|
-
// For non-schedule events, actions must match
|
|
71
|
-
if (!trigger.actions?.includes(context.action)) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
const filenames = context.pullRequest?.files.map((f) => f.filename);
|
|
75
|
-
const pathPatterns = trigger.filters?.paths;
|
|
76
|
-
const ignorePatterns = trigger.filters?.ignorePaths;
|
|
62
|
+
function matchPathFilters(filters, filenames) {
|
|
63
|
+
const { paths: pathPatterns, ignorePaths: ignorePatterns } = filters;
|
|
77
64
|
// Fail trigger match when path filters are defined but filenames unavailable
|
|
78
|
-
// This prevents filters from being silently bypassed on API failures
|
|
79
65
|
if ((pathPatterns || ignorePatterns) && (!filenames || filenames.length === 0)) {
|
|
80
66
|
return false;
|
|
81
67
|
}
|
|
@@ -93,6 +79,77 @@ export function matchTrigger(trigger, context) {
|
|
|
93
79
|
}
|
|
94
80
|
return true;
|
|
95
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Return a copy of the context with only files matching the path filters.
|
|
84
|
+
* If no filters are set, returns the original context unchanged (no copy).
|
|
85
|
+
*/
|
|
86
|
+
export function filterContextByPaths(context, filters) {
|
|
87
|
+
const { paths: pathPatterns, ignorePaths: ignorePatterns } = filters;
|
|
88
|
+
// No filters — return original reference
|
|
89
|
+
if (!pathPatterns && !ignorePatterns) {
|
|
90
|
+
return context;
|
|
91
|
+
}
|
|
92
|
+
// No PR context — nothing to filter
|
|
93
|
+
if (!context.pullRequest) {
|
|
94
|
+
return context;
|
|
95
|
+
}
|
|
96
|
+
let files = context.pullRequest.files;
|
|
97
|
+
if (pathPatterns) {
|
|
98
|
+
files = files.filter((f) => pathPatterns.some((pattern) => matchGlob(pattern, f.filename)));
|
|
99
|
+
}
|
|
100
|
+
if (ignorePatterns) {
|
|
101
|
+
files = files.filter((f) => !ignorePatterns.some((pattern) => matchGlob(pattern, f.filename)));
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
...context,
|
|
105
|
+
pullRequest: {
|
|
106
|
+
...context.pullRequest,
|
|
107
|
+
files,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if a trigger matches the given event context and environment.
|
|
113
|
+
*
|
|
114
|
+
* Trigger types:
|
|
115
|
+
* - '*' (wildcard): matches all environments, skips event/action checks
|
|
116
|
+
* - 'local': matches only when environment is 'local'
|
|
117
|
+
* - 'pull_request': matches when environment is 'github' and event is pull_request
|
|
118
|
+
* - 'schedule': matches when event is schedule
|
|
119
|
+
*/
|
|
120
|
+
export function matchTrigger(trigger, context, environment) {
|
|
121
|
+
// Wildcard triggers match everywhere, only check path filters
|
|
122
|
+
if (trigger.type === '*') {
|
|
123
|
+
const filenames = context.pullRequest?.files.map((f) => f.filename);
|
|
124
|
+
return matchPathFilters(trigger.filters, filenames);
|
|
125
|
+
}
|
|
126
|
+
// Type-based matching with early returns
|
|
127
|
+
if (trigger.type === 'local') {
|
|
128
|
+
if (environment !== 'local') {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (trigger.type === 'pull_request') {
|
|
133
|
+
if (environment === 'local') {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
if (context.eventType !== 'pull_request') {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
if (!trigger.actions?.includes(context.action)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (trigger.type === 'schedule') {
|
|
144
|
+
if (context.eventType !== 'schedule') {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
return (context.pullRequest?.files.length ?? 0) > 0;
|
|
148
|
+
}
|
|
149
|
+
// Apply path filters
|
|
150
|
+
const filenames = context.pullRequest?.files.map((f) => f.filename);
|
|
151
|
+
return matchPathFilters(trigger.filters, filenames);
|
|
152
|
+
}
|
|
96
153
|
/**
|
|
97
154
|
* Check if a report has any findings at or above the given severity threshold.
|
|
98
155
|
* Returns false if failOn is 'off' (disabled).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/triggers/matcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/triggers/matcher.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -85,6 +85,14 @@ export declare const UsageStatsSchema: z.ZodObject<{
|
|
|
85
85
|
costUSD: z.ZodNumber;
|
|
86
86
|
}, z.core.$strip>;
|
|
87
87
|
export type UsageStats = z.infer<typeof UsageStatsSchema>;
|
|
88
|
+
export declare const AuxiliaryUsageMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
89
|
+
inputTokens: z.ZodNumber;
|
|
90
|
+
outputTokens: z.ZodNumber;
|
|
91
|
+
cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
92
|
+
cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
costUSD: z.ZodNumber;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
export type AuxiliaryUsageMap = z.infer<typeof AuxiliaryUsageMapSchema>;
|
|
88
96
|
export declare const SkippedFileSchema: z.ZodObject<{
|
|
89
97
|
filename: z.ZodString;
|
|
90
98
|
reason: z.ZodEnum<{
|
|
@@ -94,6 +102,19 @@ export declare const SkippedFileSchema: z.ZodObject<{
|
|
|
94
102
|
pattern: z.ZodOptional<z.ZodString>;
|
|
95
103
|
}, z.core.$strip>;
|
|
96
104
|
export type SkippedFile = z.infer<typeof SkippedFileSchema>;
|
|
105
|
+
export declare const FileReportSchema: z.ZodObject<{
|
|
106
|
+
filename: z.ZodString;
|
|
107
|
+
findingCount: z.ZodNumber;
|
|
108
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
109
|
+
usage: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
inputTokens: z.ZodNumber;
|
|
111
|
+
outputTokens: z.ZodNumber;
|
|
112
|
+
cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
113
|
+
cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
114
|
+
costUSD: z.ZodNumber;
|
|
115
|
+
}, z.core.$strip>>;
|
|
116
|
+
}, z.core.$strip>;
|
|
117
|
+
export type FileReport = z.infer<typeof FileReportSchema>;
|
|
97
118
|
export declare const SkillReportSchema: z.ZodObject<{
|
|
98
119
|
skill: z.ZodString;
|
|
99
120
|
summary: z.ZodString;
|
|
@@ -143,6 +164,25 @@ export declare const SkillReportSchema: z.ZodObject<{
|
|
|
143
164
|
}, z.core.$strip>>>;
|
|
144
165
|
failedHunks: z.ZodOptional<z.ZodNumber>;
|
|
145
166
|
failedExtractions: z.ZodOptional<z.ZodNumber>;
|
|
167
|
+
auxiliaryUsage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
168
|
+
inputTokens: z.ZodNumber;
|
|
169
|
+
outputTokens: z.ZodNumber;
|
|
170
|
+
cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
171
|
+
cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
costUSD: z.ZodNumber;
|
|
173
|
+
}, z.core.$strip>>>;
|
|
174
|
+
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
175
|
+
filename: z.ZodString;
|
|
176
|
+
findingCount: z.ZodNumber;
|
|
177
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
178
|
+
usage: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
inputTokens: z.ZodNumber;
|
|
180
|
+
outputTokens: z.ZodNumber;
|
|
181
|
+
cacheReadInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
|
|
183
|
+
costUSD: z.ZodNumber;
|
|
184
|
+
}, z.core.$strip>>;
|
|
185
|
+
}, z.core.$strip>>>;
|
|
146
186
|
}, z.core.$strip>;
|
|
147
187
|
export type SkillReport = z.infer<typeof SkillReportSchema>;
|
|
148
188
|
export declare const GitHubEventTypeSchema: z.ZodEnum<{
|
|
@@ -191,6 +231,7 @@ export declare const PullRequestContextSchema: z.ZodObject<{
|
|
|
191
231
|
baseBranch: z.ZodString;
|
|
192
232
|
headBranch: z.ZodString;
|
|
193
233
|
headSha: z.ZodString;
|
|
234
|
+
baseSha: z.ZodString;
|
|
194
235
|
files: z.ZodArray<z.ZodObject<{
|
|
195
236
|
filename: z.ZodString;
|
|
196
237
|
status: z.ZodEnum<{
|
|
@@ -240,6 +281,7 @@ export declare const EventContextSchema: z.ZodObject<{
|
|
|
240
281
|
baseBranch: z.ZodString;
|
|
241
282
|
headBranch: z.ZodString;
|
|
242
283
|
headSha: z.ZodString;
|
|
284
|
+
baseSha: z.ZodString;
|
|
243
285
|
files: z.ZodArray<z.ZodObject<{
|
|
244
286
|
filename: z.ZodString;
|
|
245
287
|
status: z.ZodEnum<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;EAAwD,CAAC;AACpF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,gBAAgB;;;;EAAoC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAIvD,CAAC;AAGF,eAAO,MAAM,uBAAuB;;;;;;;EAA+D,CAAC;AACpG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAMnD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,EAAE,CAKtG;AAGD,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAGpD,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -68,12 +68,21 @@ export const UsageStatsSchema = z.object({
|
|
|
68
68
|
cacheCreationInputTokens: z.number().int().nonnegative().optional(),
|
|
69
69
|
costUSD: z.number().nonnegative(),
|
|
70
70
|
});
|
|
71
|
+
// Auxiliary usage from non-SDK LLM calls (extraction repair, semantic dedup, etc.)
|
|
72
|
+
export const AuxiliaryUsageMapSchema = z.record(z.string(), UsageStatsSchema);
|
|
71
73
|
// Skipped file info for chunking
|
|
72
74
|
export const SkippedFileSchema = z.object({
|
|
73
75
|
filename: z.string(),
|
|
74
76
|
reason: z.enum(['pattern', 'builtin']),
|
|
75
77
|
pattern: z.string().optional(),
|
|
76
78
|
});
|
|
79
|
+
// Per-file report within a skill
|
|
80
|
+
export const FileReportSchema = z.object({
|
|
81
|
+
filename: z.string(),
|
|
82
|
+
findingCount: z.number().int().nonnegative(),
|
|
83
|
+
durationMs: z.number().nonnegative().optional(),
|
|
84
|
+
usage: UsageStatsSchema.optional(),
|
|
85
|
+
});
|
|
77
86
|
// Skill report output
|
|
78
87
|
export const SkillReportSchema = z.object({
|
|
79
88
|
skill: z.string(),
|
|
@@ -88,6 +97,10 @@ export const SkillReportSchema = z.object({
|
|
|
88
97
|
failedHunks: z.number().int().nonnegative().optional(),
|
|
89
98
|
/** Number of hunks where findings extraction failed (JSON parse errors) */
|
|
90
99
|
failedExtractions: z.number().int().nonnegative().optional(),
|
|
100
|
+
/** Usage from auxiliary LLM calls (extraction repair, semantic dedup, etc.) */
|
|
101
|
+
auxiliaryUsage: AuxiliaryUsageMapSchema.optional(),
|
|
102
|
+
/** Per-file breakdown of findings, timing, and usage */
|
|
103
|
+
files: z.array(FileReportSchema).optional(),
|
|
91
104
|
});
|
|
92
105
|
// GitHub event types
|
|
93
106
|
export const GitHubEventTypeSchema = z.enum([
|
|
@@ -133,6 +146,7 @@ export const PullRequestContextSchema = z.object({
|
|
|
133
146
|
baseBranch: z.string(),
|
|
134
147
|
headBranch: z.string(),
|
|
135
148
|
headSha: z.string(),
|
|
149
|
+
baseSha: z.string(),
|
|
136
150
|
files: z.array(FileChangeSchema),
|
|
137
151
|
});
|
|
138
152
|
// Repository context
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentry/warden",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"ignore": "^7.0.5",
|
|
47
47
|
"ink": "^5.2.1",
|
|
48
48
|
"ink-spinner": "^5.0.0",
|
|
49
|
+
"nanoid": "^5.1.6",
|
|
49
50
|
"react": "^18.3.1",
|
|
50
51
|
"smol-toml": "^1.6.0",
|
|
51
52
|
"zod": "^4.3.6"
|
|
@@ -77,6 +78,7 @@
|
|
|
77
78
|
"test": "vitest run",
|
|
78
79
|
"test:watch": "vitest",
|
|
79
80
|
"test:examples": "vitest run --config vitest.integration.config.ts",
|
|
80
|
-
"typecheck": "tsc --noEmit"
|
|
81
|
+
"typecheck": "tsc --noEmit",
|
|
82
|
+
"update-pricing": "tsx scripts/update-pricing.ts"
|
|
81
83
|
}
|
|
82
84
|
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: warden
|
|
3
|
+
description: Run Warden to analyze code changes before committing. Use when asked to "run warden", "check my changes", "review before commit", "warden config", "warden.toml", "create a warden skill", "add trigger", or any Warden-related local development task.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run Warden to analyze code changes before committing.
|
|
7
|
+
|
|
8
|
+
## References
|
|
9
|
+
|
|
10
|
+
Read the relevant reference when the task requires deeper detail:
|
|
11
|
+
|
|
12
|
+
| Document | Read When |
|
|
13
|
+
|----------|-----------|
|
|
14
|
+
| `${CLAUDE_SKILL_ROOT}/references/cli-reference.md` | Full option details, per-command flags, examples |
|
|
15
|
+
| `${CLAUDE_SKILL_ROOT}/references/configuration.md` | Editing warden.toml, triggers, patterns, troubleshooting |
|
|
16
|
+
| `${CLAUDE_SKILL_ROOT}/references/config-schema.md` | Exact field names, types, and defaults |
|
|
17
|
+
| `${CLAUDE_SKILL_ROOT}/references/creating-skills.md` | Writing custom skills, remote skills, skill discovery |
|
|
18
|
+
|
|
19
|
+
## Running Warden
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Analyze uncommitted changes (uses warden.toml triggers)
|
|
23
|
+
warden
|
|
24
|
+
|
|
25
|
+
# Run a specific skill
|
|
26
|
+
warden --skill find-bugs
|
|
27
|
+
|
|
28
|
+
# Analyze specific files
|
|
29
|
+
warden src/auth.ts src/database.ts
|
|
30
|
+
|
|
31
|
+
# Analyze changes from a git ref
|
|
32
|
+
warden main..HEAD
|
|
33
|
+
warden HEAD~3
|
|
34
|
+
|
|
35
|
+
# Auto-apply suggested fixes
|
|
36
|
+
warden --fix
|
|
37
|
+
|
|
38
|
+
# Fail on high-severity findings
|
|
39
|
+
warden --fail-on high
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Set `WARDEN_ANTHROPIC_API_KEY` or log in via `claude login` before running.
|
|
43
|
+
|
|
44
|
+
## Pre-Commit Workflow
|
|
45
|
+
|
|
46
|
+
After making code changes and before committing:
|
|
47
|
+
|
|
48
|
+
1. Run `warden` to analyze uncommitted changes
|
|
49
|
+
2. Review the findings
|
|
50
|
+
3. Fix issues Warden reports (or use `warden --fix` to auto-apply)
|
|
51
|
+
4. Commit the changes
|
|
52
|
+
|
|
53
|
+
Run Warden once to validate work. Do not loop re-running Warden on the same changes.
|
|
54
|
+
|
|
55
|
+
## Reading Output
|
|
56
|
+
|
|
57
|
+
**Severity levels:**
|
|
58
|
+
- `critical` - Must fix before merge
|
|
59
|
+
- `high` - Should fix before merge
|
|
60
|
+
- `medium` - Worth reviewing
|
|
61
|
+
- `low` - Minor improvement
|
|
62
|
+
- `info` - Informational only
|
|
63
|
+
|
|
64
|
+
**Exit codes:** `0` = no findings at or above fail threshold. `1` = findings at or above fail threshold.
|
|
65
|
+
|
|
66
|
+
**Verbosity:** `-v` shows real-time findings. `-vv` shows debug info (tokens, latency). `-q` shows errors and summary only.
|
|
67
|
+
|
|
68
|
+
## Commands
|
|
69
|
+
|
|
70
|
+
| Command | Description |
|
|
71
|
+
|---------|-------------|
|
|
72
|
+
| `warden` | Run analysis (default) |
|
|
73
|
+
| `warden init` | Initialize warden.toml and GitHub workflow |
|
|
74
|
+
| `warden add [skill]` | Add skill trigger to warden.toml |
|
|
75
|
+
| `warden sync [remote]` | Update cached remote skills |
|
|
76
|
+
| `warden setup-app` | Create GitHub App via manifest flow |
|
|
77
|
+
|
|
78
|
+
For full options and flags, read `${CLAUDE_SKILL_ROOT}/references/cli-reference.md`.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
## Usage
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
warden [command] [targets...] [options]
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Analyze code for security issues and code quality.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
| Command | Description |
|
|
14
|
+
|---------|-------------|
|
|
15
|
+
| `(default)` | Run analysis on targets or using warden.toml skills |
|
|
16
|
+
| `init` | Initialize warden.toml and GitHub workflow |
|
|
17
|
+
| `add [skill]` | Add a skill to warden.toml |
|
|
18
|
+
| `sync [remote]` | Update cached remote skills to latest |
|
|
19
|
+
| `setup-app` | Create a GitHub App for Warden via manifest flow |
|
|
20
|
+
|
|
21
|
+
## Targets
|
|
22
|
+
|
|
23
|
+
| Target | Description |
|
|
24
|
+
|--------|-------------|
|
|
25
|
+
| `<files>` | Analyze specific files (e.g., `src/auth.ts`) |
|
|
26
|
+
| `<glob>` | Analyze files matching pattern (e.g., `"src/**/*.ts"`) |
|
|
27
|
+
| `<git-ref>` | Analyze changes from git ref (e.g., `HEAD~3`, `main..feature`) |
|
|
28
|
+
| `(none)` | Analyze uncommitted changes using warden.toml skills |
|
|
29
|
+
|
|
30
|
+
Ambiguous targets (no path separator, no extension) are resolved by checking if a file exists at the path. Use `--git` to force git ref interpretation.
|
|
31
|
+
|
|
32
|
+
## Options
|
|
33
|
+
|
|
34
|
+
| Option | Description |
|
|
35
|
+
|--------|-------------|
|
|
36
|
+
| `--skill <name>` | Run only this skill (default: run all built-in skills) |
|
|
37
|
+
| `--config <path>` | Path to warden.toml (default: `./warden.toml`) |
|
|
38
|
+
| `-m, --model <model>` | Model to use (fallback when not set in config) |
|
|
39
|
+
| `--json` | Output results as JSON |
|
|
40
|
+
| `-o, --output <path>` | Write full run output to a JSONL file |
|
|
41
|
+
| `--fail-on <severity>` | Exit with code 1 if findings >= severity |
|
|
42
|
+
| `--report-on <severity>` | Only show findings >= severity in output |
|
|
43
|
+
| `--fix` | Automatically apply all suggested fixes |
|
|
44
|
+
| `--parallel <n>` | Max concurrent skill executions (default: 4) |
|
|
45
|
+
| `--git` | Force ambiguous targets to be treated as git refs |
|
|
46
|
+
| `--offline` | Use cached remote skills without network access |
|
|
47
|
+
| `-q, --quiet` | Errors and final summary only |
|
|
48
|
+
| `-v, --verbose` | Show real-time findings and hunk details |
|
|
49
|
+
| `-vv` | Show debug info (token counts, latencies) |
|
|
50
|
+
| `--debug` | Enable debug output (equivalent to `-vv`) |
|
|
51
|
+
| `--log` | Use log output (no animations, timestamped) |
|
|
52
|
+
| `--color / --no-color` | Override color detection |
|
|
53
|
+
| `-h, --help` | Show help message |
|
|
54
|
+
| `-V, --version` | Show version number |
|
|
55
|
+
|
|
56
|
+
## Per-Command Options
|
|
57
|
+
|
|
58
|
+
**Init:**
|
|
59
|
+
| Option | Description |
|
|
60
|
+
|--------|-------------|
|
|
61
|
+
| `-f, --force` | Overwrite existing files |
|
|
62
|
+
|
|
63
|
+
**Add:**
|
|
64
|
+
| Option | Description |
|
|
65
|
+
|--------|-------------|
|
|
66
|
+
| `--list` | List available skills |
|
|
67
|
+
| `--remote <ref>` | Remote repository (`owner/repo`, URL, or with `@sha`) |
|
|
68
|
+
| `--force` | Bypass skill cache and fetch latest |
|
|
69
|
+
|
|
70
|
+
**Sync:**
|
|
71
|
+
| Option | Description |
|
|
72
|
+
|--------|-------------|
|
|
73
|
+
| `--remote <ref>` | Specific remote to sync (default: all) |
|
|
74
|
+
|
|
75
|
+
**Setup-app:**
|
|
76
|
+
| Option | Description |
|
|
77
|
+
|--------|-------------|
|
|
78
|
+
| `--org <name>` | Create under organization (default: personal) |
|
|
79
|
+
| `--port <number>` | Local server port (default: 3000) |
|
|
80
|
+
| `--timeout <sec>` | Callback timeout in seconds (default: 300) |
|
|
81
|
+
| `--name <string>` | Custom app name (default: Warden) |
|
|
82
|
+
| `--no-open` | Print URL instead of opening browser |
|
|
83
|
+
|
|
84
|
+
## Severity Levels
|
|
85
|
+
|
|
86
|
+
Used in `--fail-on` and `--report-on`:
|
|
87
|
+
|
|
88
|
+
| Level | Meaning |
|
|
89
|
+
|-------|---------|
|
|
90
|
+
| `critical` | Must fix before merge |
|
|
91
|
+
| `high` | Should fix before merge |
|
|
92
|
+
| `medium` | Worth reviewing |
|
|
93
|
+
| `low` | Minor improvement |
|
|
94
|
+
| `info` | Informational only |
|
|
95
|
+
| `off` | Disable the threshold |
|
|
96
|
+
|
|
97
|
+
## Exit Codes
|
|
98
|
+
|
|
99
|
+
| Code | Meaning |
|
|
100
|
+
|------|---------|
|
|
101
|
+
| `0` | No findings at or above `--fail-on` threshold |
|
|
102
|
+
| `1` | Findings at or above `--fail-on` threshold |
|
|
103
|
+
|
|
104
|
+
## Examples
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Initialize
|
|
108
|
+
warden init
|
|
109
|
+
|
|
110
|
+
# Interactive skill selection
|
|
111
|
+
warden add
|
|
112
|
+
warden add security-review
|
|
113
|
+
warden add --list
|
|
114
|
+
|
|
115
|
+
# Remote skills
|
|
116
|
+
warden add --remote getsentry/skills --skill security-review
|
|
117
|
+
warden add --remote https://github.com/getsentry/skills --skill security-review
|
|
118
|
+
warden add --remote getsentry/skills@abc123 --skill security-review
|
|
119
|
+
|
|
120
|
+
# Run analysis
|
|
121
|
+
warden # Skills from warden.toml
|
|
122
|
+
warden src/auth.ts # Specific file
|
|
123
|
+
warden src/auth.ts --skill security-review
|
|
124
|
+
warden "src/**/*.ts" # Glob pattern
|
|
125
|
+
warden HEAD~3 # Git changes
|
|
126
|
+
warden HEAD~3 --skill security-review
|
|
127
|
+
warden main..HEAD # Branch diff
|
|
128
|
+
|
|
129
|
+
# Output control
|
|
130
|
+
warden --json
|
|
131
|
+
warden --fail-on high
|
|
132
|
+
warden -o results.jsonl
|
|
133
|
+
|
|
134
|
+
# Fix mode
|
|
135
|
+
warden --fix
|
|
136
|
+
|
|
137
|
+
# Cached skills only
|
|
138
|
+
warden --offline
|
|
139
|
+
warden sync # Update all unpinned remote skills
|
|
140
|
+
|
|
141
|
+
# GitHub App setup
|
|
142
|
+
warden setup-app
|
|
143
|
+
warden setup-app --org myorg
|
|
144
|
+
```
|