@sentry/warden 0.21.0 → 0.23.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/.oxlintrc.json +169 -0
- package/CHANGELOG.md +390 -0
- package/README.md +4 -4
- package/dist/cli/args.d.ts +6 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +175 -207
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +16 -5
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/build.d.ts +13 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +384 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +10 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/runs.d.ts.map +1 -1
- package/dist/cli/commands/runs.js +79 -15
- package/dist/cli/commands/runs.js.map +1 -1
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +4 -1
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +8 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/files.d.ts.map +1 -1
- package/dist/cli/files.js +27 -9
- package/dist/cli/files.js.map +1 -1
- package/dist/cli/help.d.ts +4 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +448 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.js +2 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/input.d.ts +12 -0
- package/dist/cli/input.d.ts.map +1 -1
- package/dist/cli/input.js +60 -0
- package/dist/cli/input.js.map +1 -1
- package/dist/cli/log-cleanup.d.ts.map +1 -1
- package/dist/cli/log-cleanup.js +4 -0
- package/dist/cli/log-cleanup.js.map +1 -1
- package/dist/cli/main.d.ts +39 -2
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +482 -100
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output/box.js +1 -1
- package/dist/cli/output/formatters.d.ts +10 -2
- package/dist/cli/output/formatters.d.ts.map +1 -1
- package/dist/cli/output/formatters.js +32 -9
- package/dist/cli/output/formatters.js.map +1 -1
- package/dist/cli/output/index.d.ts +2 -2
- package/dist/cli/output/index.d.ts.map +1 -1
- package/dist/cli/output/index.js +2 -2
- package/dist/cli/output/index.js.map +1 -1
- package/dist/cli/output/ink-runner.d.ts +3 -1
- package/dist/cli/output/ink-runner.d.ts.map +1 -1
- package/dist/cli/output/ink-runner.js +79 -25
- package/dist/cli/output/ink-runner.js.map +1 -1
- package/dist/cli/output/jsonl-schema-gen.d.ts.map +1 -1
- package/dist/cli/output/jsonl-schema-gen.js +4 -2
- package/dist/cli/output/jsonl-schema-gen.js.map +1 -1
- package/dist/cli/output/jsonl.d.ts +147 -4
- package/dist/cli/output/jsonl.d.ts.map +1 -1
- package/dist/cli/output/jsonl.js +183 -7
- package/dist/cli/output/jsonl.js.map +1 -1
- package/dist/cli/output/live-status.d.ts +48 -0
- package/dist/cli/output/live-status.d.ts.map +1 -0
- package/dist/cli/output/live-status.js +173 -0
- package/dist/cli/output/live-status.js.map +1 -0
- package/dist/cli/output/reporter.d.ts +4 -0
- package/dist/cli/output/reporter.d.ts.map +1 -1
- package/dist/cli/output/reporter.js +20 -3
- package/dist/cli/output/reporter.js.map +1 -1
- package/dist/cli/output/tasks.d.ts +11 -5
- package/dist/cli/output/tasks.d.ts.map +1 -1
- package/dist/cli/output/tasks.js +126 -68
- package/dist/cli/output/tasks.js.map +1 -1
- package/dist/cli/signals.d.ts +15 -0
- package/dist/cli/signals.d.ts.map +1 -0
- package/dist/cli/signals.js +26 -0
- package/dist/cli/signals.js.map +1 -0
- package/dist/config/loader.d.ts +48 -7
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +228 -32
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +55 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +34 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/diff/context.d.ts +9 -2
- package/dist/diff/context.d.ts.map +1 -1
- package/dist/diff/context.js +65 -17
- package/dist/diff/context.js.map +1 -1
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +16 -0
- package/dist/evals/runner.js.map +1 -1
- package/dist/event/context.d.ts.map +1 -1
- package/dist/event/context.js +1 -0
- 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 +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/output/dedup.d.ts +8 -11
- package/dist/output/dedup.d.ts.map +1 -1
- package/dist/output/dedup.js +39 -37
- package/dist/output/dedup.js.map +1 -1
- package/dist/output/github-checks.d.ts +1 -0
- package/dist/output/github-checks.d.ts.map +1 -1
- package/dist/output/github-checks.js +9 -7
- package/dist/output/github-checks.js.map +1 -1
- package/dist/sdk/analyze.d.ts.map +1 -1
- package/dist/sdk/analyze.js +166 -276
- package/dist/sdk/analyze.js.map +1 -1
- package/dist/sdk/circuit-breaker.d.ts +26 -0
- package/dist/sdk/circuit-breaker.d.ts.map +1 -0
- package/dist/sdk/circuit-breaker.js +53 -0
- package/dist/sdk/circuit-breaker.js.map +1 -0
- package/dist/sdk/errors.d.ts +5 -0
- package/dist/sdk/errors.d.ts.map +1 -1
- package/dist/sdk/errors.js +27 -0
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/extract.d.ts +18 -9
- package/dist/sdk/extract.d.ts.map +1 -1
- package/dist/sdk/extract.js +95 -87
- package/dist/sdk/extract.js.map +1 -1
- package/dist/sdk/fix-quality.d.ts +5 -0
- package/dist/sdk/fix-quality.d.ts.map +1 -1
- package/dist/sdk/fix-quality.js +42 -23
- package/dist/sdk/fix-quality.js.map +1 -1
- package/dist/sdk/haiku.d.ts +6 -0
- package/dist/sdk/haiku.d.ts.map +1 -1
- package/dist/sdk/haiku.js +75 -49
- package/dist/sdk/haiku.js.map +1 -1
- package/dist/sdk/json-output.d.ts +31 -0
- package/dist/sdk/json-output.d.ts.map +1 -0
- package/dist/sdk/json-output.js +98 -0
- package/dist/sdk/json-output.js.map +1 -0
- package/dist/sdk/model-pricing.json +56 -16
- package/dist/sdk/post-process.d.ts +29 -0
- package/dist/sdk/post-process.d.ts.map +1 -0
- package/dist/sdk/post-process.js +65 -0
- package/dist/sdk/post-process.js.map +1 -0
- package/dist/sdk/prepare.d.ts.map +1 -1
- package/dist/sdk/prepare.js +4 -1
- package/dist/sdk/prepare.js.map +1 -1
- package/dist/sdk/pricing.d.ts +18 -0
- package/dist/sdk/pricing.d.ts.map +1 -1
- package/dist/sdk/pricing.js +108 -3
- package/dist/sdk/pricing.js.map +1 -1
- package/dist/sdk/prompt-sections.d.ts +56 -0
- package/dist/sdk/prompt-sections.d.ts.map +1 -0
- package/dist/sdk/prompt-sections.js +118 -0
- package/dist/sdk/prompt-sections.js.map +1 -0
- package/dist/sdk/prompt.d.ts +2 -17
- package/dist/sdk/prompt.d.ts.map +1 -1
- package/dist/sdk/prompt.js +15 -37
- package/dist/sdk/prompt.js.map +1 -1
- package/dist/sdk/report-files.d.ts +15 -0
- package/dist/sdk/report-files.d.ts.map +1 -0
- package/dist/sdk/report-files.js +20 -0
- package/dist/sdk/report-files.js.map +1 -0
- package/dist/sdk/runner.d.ts +9 -1
- package/dist/sdk/runner.d.ts.map +1 -1
- package/dist/sdk/runner.js +6 -0
- package/dist/sdk/runner.js.map +1 -1
- package/dist/sdk/runtimes/claude.d.ts +3 -0
- package/dist/sdk/runtimes/claude.d.ts.map +1 -0
- package/dist/sdk/runtimes/claude.js +376 -0
- package/dist/sdk/runtimes/claude.js.map +1 -0
- package/dist/sdk/runtimes/index.d.ts +12 -0
- package/dist/sdk/runtimes/index.d.ts.map +1 -0
- package/dist/sdk/runtimes/index.js +22 -0
- package/dist/sdk/runtimes/index.js.map +1 -0
- package/dist/sdk/runtimes/types.d.ts +116 -0
- package/dist/sdk/runtimes/types.d.ts.map +1 -0
- package/dist/sdk/runtimes/types.js +17 -0
- package/dist/sdk/runtimes/types.js.map +1 -0
- package/dist/sdk/types.d.ts +42 -2
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/types.js.map +1 -1
- package/dist/sdk/usage.d.ts +21 -6
- package/dist/sdk/usage.d.ts.map +1 -1
- package/dist/sdk/usage.js +36 -23
- package/dist/sdk/usage.js.map +1 -1
- package/dist/sdk/verify.d.ts +25 -0
- package/dist/sdk/verify.d.ts.map +1 -0
- package/dist/sdk/verify.js +226 -0
- package/dist/sdk/verify.js.map +1 -0
- package/dist/skill-builder/agentic.d.ts +33 -0
- package/dist/skill-builder/agentic.d.ts.map +1 -0
- package/dist/skill-builder/agentic.js +240 -0
- package/dist/skill-builder/agentic.js.map +1 -0
- package/dist/skill-builder/authoring-provider.d.ts +5 -0
- package/dist/skill-builder/authoring-provider.d.ts.map +1 -0
- package/dist/skill-builder/authoring-provider.js +70 -0
- package/dist/skill-builder/authoring-provider.js.map +1 -0
- package/dist/skill-builder/definition.d.ts +46 -0
- package/dist/skill-builder/definition.d.ts.map +1 -0
- package/dist/skill-builder/definition.js +171 -0
- package/dist/skill-builder/definition.js.map +1 -0
- package/dist/skill-builder/outline-contract.d.ts +113 -0
- package/dist/skill-builder/outline-contract.d.ts.map +1 -0
- package/dist/skill-builder/outline-contract.js +73 -0
- package/dist/skill-builder/outline-contract.js.map +1 -0
- package/dist/skill-builder/outline-state.d.ts +158 -0
- package/dist/skill-builder/outline-state.d.ts.map +1 -0
- package/dist/skill-builder/outline-state.js +87 -0
- package/dist/skill-builder/outline-state.js.map +1 -0
- package/dist/skill-builder/outline.d.ts +36 -0
- package/dist/skill-builder/outline.d.ts.map +1 -0
- package/dist/skill-builder/outline.js +345 -0
- package/dist/skill-builder/outline.js.map +1 -0
- package/dist/skill-builder/skill-contract.d.ts +97 -0
- package/dist/skill-builder/skill-contract.d.ts.map +1 -0
- package/dist/skill-builder/skill-contract.js +58 -0
- package/dist/skill-builder/skill-contract.js.map +1 -0
- package/dist/skill-builder/skill-prompts.d.ts +61 -0
- package/dist/skill-builder/skill-prompts.d.ts.map +1 -0
- package/dist/skill-builder/skill-prompts.js +285 -0
- package/dist/skill-builder/skill-prompts.js.map +1 -0
- package/dist/skill-builder/skill.d.ts +23 -0
- package/dist/skill-builder/skill.d.ts.map +1 -0
- package/dist/skill-builder/skill.js +563 -0
- package/dist/skill-builder/skill.js.map +1 -0
- package/dist/skills/index.d.ts +2 -2
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +20 -6
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +88 -141
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/remote.d.ts +11 -7
- package/dist/skills/remote.d.ts.map +1 -1
- package/dist/skills/remote.js +62 -162
- package/dist/skills/remote.js.map +1 -1
- package/dist/triggers/matcher.d.ts.map +1 -1
- package/dist/triggers/matcher.js +28 -15
- package/dist/triggers/matcher.js.map +1 -1
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/path.d.ts +17 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +36 -0
- package/dist/utils/path.js.map +1 -0
- package/package.json +8 -8
- package/policies/README.md +22 -0
- package/policies/code-comments.md +20 -0
- package/policies/policy-template.md +14 -0
- package/skills/warden/SKILL.md +5 -5
- package/skills/warden/SOURCES.md +39 -0
- package/skills/warden/SPEC.md +112 -0
- package/skills/warden/references/cli-reference.md +11 -4
- package/skills/warden/references/config-schema.md +38 -13
- package/skills/warden/references/configuration.md +29 -8
- package/skills/warden-sweep/SKILL.md +43 -365
- package/skills/warden-sweep/SOURCES.md +43 -0
- package/skills/warden-sweep/SPEC.md +126 -0
- package/skills/warden-sweep/references/issue-phase.md +24 -0
- package/skills/warden-sweep/references/organize-phase.md +31 -0
- package/skills/warden-sweep/references/patch-phase.md +142 -0
- package/skills/warden-sweep/references/resume-and-artifacts.md +51 -0
- package/skills/warden-sweep/references/scan-phase.md +46 -0
- package/skills/warden-sweep/references/script-interfaces.md +127 -0
- package/skills/warden-sweep/references/verify-phase.md +69 -0
- package/src/builtin-skills/security-review/SKILL.md +81 -0
- package/src/builtin-skills/security-review/SPEC.md +77 -0
- package/src/builtin-skills/security-review/references/github-workflows.md +186 -0
- package/src/builtin-skills/security-review/references/javascript-typescript.md +69 -0
- package/src/builtin-skills/security-review/references/python.md +70 -0
- package/src/internal-skills/skill-writer/EVAL.md +124 -0
- package/src/internal-skills/skill-writer/SKILL.md +159 -0
- package/src/internal-skills/skill-writer/SOURCES.md +94 -0
- package/src/internal-skills/skill-writer/SPEC.md +153 -0
- package/src/internal-skills/skill-writer/references/artifact-layouts/argument-driven-skill-layout.md +32 -0
- package/src/internal-skills/skill-writer/references/artifact-layouts/asset-template-skill-layout.md +30 -0
- package/src/internal-skills/skill-writer/references/artifact-layouts/inline-skill-layout.md +28 -0
- package/src/internal-skills/skill-writer/references/artifact-layouts/reference-backed-skill-layout.md +35 -0
- package/src/internal-skills/skill-writer/references/artifact-layouts/script-backed-skill-layout.md +31 -0
- package/src/internal-skills/skill-writer/references/authoring-path.md +91 -0
- package/src/internal-skills/skill-writer/references/claude-code/argument-substitutions.md +20 -0
- package/src/internal-skills/skill-writer/references/claude-code/dynamic-context.md +16 -0
- package/src/internal-skills/skill-writer/references/claude-code/frontmatter-and-invocation.md +33 -0
- package/src/internal-skills/skill-writer/references/claude-code/hook-backed-skills.md +28 -0
- package/src/internal-skills/skill-writer/references/claude-code/subagent-fork-skills.md +22 -0
- package/src/internal-skills/skill-writer/references/description-optimization.md +28 -0
- package/src/internal-skills/skill-writer/references/design-principles.md +74 -0
- package/src/internal-skills/skill-writer/references/evaluation-path.md +73 -0
- package/src/internal-skills/skill-writer/references/examples/documentation-skill.md +70 -0
- package/src/internal-skills/skill-writer/references/examples/evaluator-loop-skill.md +38 -0
- package/src/internal-skills/skill-writer/references/examples/hook-backed-skill.md +39 -0
- package/src/internal-skills/skill-writer/references/examples/router-skill.md +41 -0
- package/src/internal-skills/skill-writer/references/examples/security-review-skill.md +69 -0
- package/src/internal-skills/skill-writer/references/examples/subagent-fork-skill.md +39 -0
- package/src/internal-skills/skill-writer/references/examples/workflow-process-skill.md +65 -0
- package/src/internal-skills/skill-writer/references/execution-shapes.md +68 -0
- package/src/internal-skills/skill-writer/references/iteration-evidence.md +82 -0
- package/src/internal-skills/skill-writer/references/iteration-path.md +40 -0
- package/src/internal-skills/skill-writer/references/mode-selection.md +67 -0
- package/src/internal-skills/skill-writer/references/output-contracts.md +68 -0
- package/src/internal-skills/skill-writer/references/reference-architecture.md +71 -0
- package/src/internal-skills/skill-writer/references/registration-validation.md +67 -0
- package/src/internal-skills/skill-writer/references/source-discovery.md +60 -0
- package/src/internal-skills/skill-writer/references/spec-template.md +118 -0
- package/src/internal-skills/skill-writer/references/structure-troubleshooting.md +111 -0
- package/src/internal-skills/skill-writer/references/synthesis-path.md +119 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/evaluator-loops.md +25 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/orchestrator-workers.md +25 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/parallel-workflows.md +21 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/plan-validate-execute.md +26 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/prompt-chaining.md +24 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/routing-workflows.md +28 -0
- package/src/internal-skills/skill-writer/references/workflow-mechanics/validation-loops.md +26 -0
- package/src/internal-skills/skill-writer/scripts/quick_validate.py +158 -0
- package/src/internal-skills/skill-writer/scripts/quick_validate_test.py +79 -0
|
@@ -6,6 +6,7 @@ import { formatDuration, formatFindingCounts, formatFindingCountsPlain, formatUs
|
|
|
6
6
|
import { BoxRenderer } from './box.js';
|
|
7
7
|
import { ICON_CHECK } from './icons.js';
|
|
8
8
|
import { getVersion } from '../../utils/index.js';
|
|
9
|
+
import { mergeAuxiliaryUsage } from '../../sdk/usage.js';
|
|
9
10
|
/**
|
|
10
11
|
* Map a file change status to its single-character symbol.
|
|
11
12
|
*/
|
|
@@ -36,7 +37,7 @@ const LOGO = `
|
|
|
36
37
|
\\ \\/ \\/ / _\` | '__/ _\` |/ _ \\ '_ \\
|
|
37
38
|
\\ /\\ / (_| | | | (_| | __/ | | |
|
|
38
39
|
\\/ \\/ \\__,_|_| \\__,_|\\___|_| |_|
|
|
39
|
-
`.
|
|
40
|
+
`.replace(/^\n/, '');
|
|
40
41
|
/**
|
|
41
42
|
* Main reporter class for CLI output.
|
|
42
43
|
* Handles different verbosity levels and TTY/non-TTY modes.
|
|
@@ -144,9 +145,24 @@ export class Reporter {
|
|
|
144
145
|
outputTokens: acc.outputTokens + u.outputTokens,
|
|
145
146
|
cacheReadInputTokens: (acc.cacheReadInputTokens ?? 0) + (u.cacheReadInputTokens ?? 0),
|
|
146
147
|
cacheCreationInputTokens: (acc.cacheCreationInputTokens ?? 0) + (u.cacheCreationInputTokens ?? 0),
|
|
148
|
+
cacheCreation5mInputTokens: (acc.cacheCreation5mInputTokens ?? 0) + (u.cacheCreation5mInputTokens ?? 0),
|
|
149
|
+
cacheCreation1hInputTokens: (acc.cacheCreation1hInputTokens ?? 0) + (u.cacheCreation1hInputTokens ?? 0),
|
|
150
|
+
webSearchRequests: (acc.webSearchRequests ?? 0) + (u.webSearchRequests ?? 0),
|
|
147
151
|
costUSD: acc.costUSD + u.costUSD,
|
|
148
152
|
}));
|
|
149
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Aggregate auxiliary usage stats from multiple reports.
|
|
156
|
+
*/
|
|
157
|
+
aggregateAuxiliaryUsage(reports) {
|
|
158
|
+
let totalAuxiliaryUsage;
|
|
159
|
+
for (const report of reports) {
|
|
160
|
+
if (report.auxiliaryUsage) {
|
|
161
|
+
totalAuxiliaryUsage = mergeAuxiliaryUsage(totalAuxiliaryUsage, report.auxiliaryUsage);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return totalAuxiliaryUsage;
|
|
165
|
+
}
|
|
150
166
|
/**
|
|
151
167
|
* Render the summary section.
|
|
152
168
|
*/
|
|
@@ -163,6 +179,7 @@ export class Reporter {
|
|
|
163
179
|
}
|
|
164
180
|
const counts = countBySeverity(allFindings);
|
|
165
181
|
const totalUsage = this.aggregateUsage(reports);
|
|
182
|
+
const totalAuxiliaryUsage = this.aggregateAuxiliaryUsage(reports);
|
|
166
183
|
if (this.verbosity === Verbosity.Quiet) {
|
|
167
184
|
// Quiet mode: just output the summary line
|
|
168
185
|
const countStr = formatFindingCountsPlain(counts);
|
|
@@ -186,7 +203,7 @@ export class Reporter {
|
|
|
186
203
|
}
|
|
187
204
|
const durationLine = `Analysis completed in ${formatDuration(totalDuration)}`;
|
|
188
205
|
if (totalUsage) {
|
|
189
|
-
this.log(chalk.dim(`${durationLine} · ${formatUsage(totalUsage)}`));
|
|
206
|
+
this.log(chalk.dim(`${durationLine} · ${formatUsage(totalUsage, totalAuxiliaryUsage)}`));
|
|
190
207
|
}
|
|
191
208
|
else {
|
|
192
209
|
this.log(chalk.dim(durationLine));
|
|
@@ -210,7 +227,7 @@ export class Reporter {
|
|
|
210
227
|
this.logPlain(`${totalSkippedFiles} ${pluralize(totalSkippedFiles, 'file')} skipped`);
|
|
211
228
|
}
|
|
212
229
|
if (totalUsage) {
|
|
213
|
-
this.logPlain(`Usage: ${formatUsagePlain(totalUsage)}`);
|
|
230
|
+
this.logPlain(`Usage: ${formatUsagePlain(totalUsage, totalAuxiliaryUsage)}`);
|
|
214
231
|
}
|
|
215
232
|
this.logPlain(`Total time: ${formatDuration(totalDuration)}`);
|
|
216
233
|
if (options?.traceId && this.verbosity >= Verbosity.Verbose) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/cli/output/reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/cli/output/reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Reporter spec: specs/reporters.md
|
|
6
6
|
*/
|
|
7
|
-
import type { SkillReport, SeverityThreshold, ConfidenceThreshold, Finding, UsageStats, EventContext } from '../../types/index.js';
|
|
7
|
+
import type { SkillReport, SeverityThreshold, ConfidenceThreshold, Finding, UsageStats, EventContext, AuxiliaryUsageMap } from '../../types/index.js';
|
|
8
8
|
import type { SkillDefinition } from '../../config/schema.js';
|
|
9
|
-
import { type SkillRunnerOptions } from '../../sdk/runner.js';
|
|
9
|
+
import { type SkillRunnerOptions, type ChunkAnalysisResult, type FindingProcessingEvent } from '../../sdk/runner.js';
|
|
10
|
+
import { ProviderFailureCircuitBreaker } from '../../sdk/circuit-breaker.js';
|
|
10
11
|
import { Verbosity } from './verbosity.js';
|
|
11
12
|
import type { OutputMode } from './tty.js';
|
|
12
13
|
import { Semaphore } from '../../utils/index.js';
|
|
@@ -34,6 +35,7 @@ export interface SkillState {
|
|
|
34
35
|
files: FileState[];
|
|
35
36
|
findings: Finding[];
|
|
36
37
|
usage?: UsageStats;
|
|
38
|
+
auxiliaryUsage?: AuxiliaryUsageMap;
|
|
37
39
|
error?: string;
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
@@ -72,6 +74,8 @@ export interface RunTasksOptions {
|
|
|
72
74
|
failFastController?: AbortController;
|
|
73
75
|
/** Hook fired after each skill finishes; used by the CLI to stream JSONL to disk. */
|
|
74
76
|
onSkillComplete?: (report: SkillReport) => void;
|
|
77
|
+
/** Hook fired after each chunk finishes; used by the CLI to stream JSONL to disk. */
|
|
78
|
+
onChunkComplete?: (skillName: string, chunk: ChunkAnalysisResult) => void;
|
|
75
79
|
}
|
|
76
80
|
/**
|
|
77
81
|
* Callbacks for reporting skill execution progress to the UI.
|
|
@@ -82,6 +86,7 @@ export interface SkillProgressCallbacks {
|
|
|
82
86
|
onFileUpdate: (skillName: string, filename: string, updates: Partial<FileState>) => void;
|
|
83
87
|
/** Called when a hunk analysis starts (one SDK invocation per hunk) */
|
|
84
88
|
onHunkStart?: (skillName: string, filename: string, hunkNum: number, totalHunks: number, lineRange: string) => void;
|
|
89
|
+
onChunkComplete?: (skillName: string, chunk: ChunkAnalysisResult) => void;
|
|
85
90
|
onSkillComplete: (name: string, report: SkillReport) => void;
|
|
86
91
|
onSkillSkipped: (name: string) => void;
|
|
87
92
|
onSkillError: (name: string, error: string) => void;
|
|
@@ -91,6 +96,8 @@ export interface SkillProgressCallbacks {
|
|
|
91
96
|
onPromptSize?: (skillName: string, filename: string, lineRange: string, systemChars: number, userChars: number, totalChars: number, estimatedTokens: number) => void;
|
|
92
97
|
/** Called with extraction result details (debug mode) */
|
|
93
98
|
onExtractionResult?: (skillName: string, filename: string, lineRange: string, findingsCount: number, method: 'regex' | 'llm' | 'none') => void;
|
|
99
|
+
/** Called when findings are dropped, revised, merged, or stripped after analysis */
|
|
100
|
+
onFindingProcessing?: (skillName: string, event: FindingProcessingEvent) => void;
|
|
94
101
|
/** Called when hunk analysis fails (SDK error, API error, abort) */
|
|
95
102
|
onHunkFailed?: (skillName: string, filename: string, lineRange: string, error: string) => void;
|
|
96
103
|
/** Called when findings extraction fails (both regex and LLM fallback failed) */
|
|
@@ -109,10 +116,9 @@ export declare function runSkillTask(options: SkillTaskOptions, fileConcurrency:
|
|
|
109
116
|
*/
|
|
110
117
|
export declare function createDefaultCallbacks(tasks: SkillTaskOptions[], mode: OutputMode, verbosity: Verbosity): SkillProgressCallbacks;
|
|
111
118
|
/**
|
|
112
|
-
*
|
|
113
|
-
* Returns the original tasks unchanged when no controller is provided.
|
|
119
|
+
* Share abort/circuit state across task runner options.
|
|
114
120
|
*/
|
|
115
|
-
export declare function composeTasksWithFailFast(tasks: SkillTaskOptions[], failFastController?: AbortController): SkillTaskOptions[];
|
|
121
|
+
export declare function composeTasksWithFailFast(tasks: SkillTaskOptions[], failFastController?: AbortController, circuitBreaker?: ProviderFailureCircuitBreaker, circuitAbortController?: AbortController): SkillTaskOptions[];
|
|
116
122
|
/**
|
|
117
123
|
* Launch all skill tasks in parallel using a shared semaphore for concurrency.
|
|
118
124
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/cli/output/tasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/cli/output/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/output/tasks.js
CHANGED
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Reporter spec: specs/reporters.md
|
|
6
6
|
*/
|
|
7
|
-
import { Sentry, emitSkillMetrics,
|
|
7
|
+
import { Sentry, emitSkillMetrics, logger } from '../../sentry.js';
|
|
8
8
|
import { SkillRunnerError, WardenAuthenticationError, classifyError } from '../../sdk/errors.js';
|
|
9
|
-
import { prepareFiles, analyzeFile, aggregateUsage, aggregateAuxiliaryUsage,
|
|
10
|
-
import {
|
|
9
|
+
import { prepareFiles, analyzeFile, aggregateUsage, aggregateAuxiliaryUsage, postProcessFindings, generateSummary, } from '../../sdk/runner.js';
|
|
10
|
+
import { ProviderFailureCircuitBreaker } from '../../sdk/circuit-breaker.js';
|
|
11
|
+
import { buildFileReports } from '../../sdk/report-files.js';
|
|
11
12
|
import chalk from 'chalk';
|
|
12
13
|
import figures from 'figures';
|
|
13
14
|
import { Verbosity } from './verbosity.js';
|
|
@@ -15,6 +16,35 @@ import { ICON_CHECK, ICON_SKIPPED } from './icons.js';
|
|
|
15
16
|
import { timestamp } from './tty.js';
|
|
16
17
|
import { formatDuration, formatCost, formatLocation, formatSeverityPlain, formatFindingCountsPlain, countBySeverity, pluralize } from './formatters.js';
|
|
17
18
|
import { runPool, Semaphore } from '../../utils/index.js';
|
|
19
|
+
function allAnalysisFailuresHaveCode(hunkFailures, code) {
|
|
20
|
+
const analysisFailures = hunkFailures.filter((failure) => failure.type === 'analysis');
|
|
21
|
+
return (analysisFailures.length > 0
|
|
22
|
+
&& analysisFailures.every((failure) => failure.code === code));
|
|
23
|
+
}
|
|
24
|
+
function summarizeRunFailure(args) {
|
|
25
|
+
const { totalHunks, hunkFailures, circuitReason } = args;
|
|
26
|
+
if (circuitReason) {
|
|
27
|
+
return circuitReason;
|
|
28
|
+
}
|
|
29
|
+
if (allAnalysisFailuresHaveCode(hunkFailures, 'auth_failed')) {
|
|
30
|
+
return {
|
|
31
|
+
code: 'auth_failed',
|
|
32
|
+
message: 'Authentication failed. Warden stopped early.',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (allAnalysisFailuresHaveCode(hunkFailures, 'provider_unavailable')) {
|
|
36
|
+
return {
|
|
37
|
+
code: 'provider_unavailable',
|
|
38
|
+
message: `Provider unavailable: all ${totalHunks} chunk${totalHunks === 1 ? '' : 's'} failed to analyze. Warden stopped early.`,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
code: 'all_hunks_failed',
|
|
43
|
+
message: `All ${totalHunks} chunk${totalHunks === 1 ? '' : 's'} failed to analyze. ` +
|
|
44
|
+
`This usually indicates an authentication problem. ` +
|
|
45
|
+
`Verify WARDEN_ANTHROPIC_API_KEY is set correctly, or run 'claude login' if using Claude Code subscription.`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
18
48
|
/**
|
|
19
49
|
* Write a log-mode message to stderr with timestamp prefix.
|
|
20
50
|
* Used for non-TTY / plain output.
|
|
@@ -42,6 +72,14 @@ function findingLocation(finding) {
|
|
|
42
72
|
return 'unknown';
|
|
43
73
|
return formatLocation(finding.location.path, finding.location.startLine, finding.location.endLine);
|
|
44
74
|
}
|
|
75
|
+
function findingSummary(finding) {
|
|
76
|
+
return `${findingLocation(finding)}: ${finding.title}`;
|
|
77
|
+
}
|
|
78
|
+
function formatFindingProcessingEvent(event) {
|
|
79
|
+
const reason = event.reason ? ` (${event.reason})` : '';
|
|
80
|
+
const replacement = event.replacement ? ` -> ${findingSummary(event.replacement)}` : '';
|
|
81
|
+
return `${event.stage}:${event.action} ${findingSummary(event.finding)}${replacement}${reason}`;
|
|
82
|
+
}
|
|
45
83
|
/**
|
|
46
84
|
* Run a single skill task.
|
|
47
85
|
*/
|
|
@@ -158,6 +196,15 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
158
196
|
if (usage.cacheCreationInputTokens) {
|
|
159
197
|
current.usage.cacheCreationInputTokens = (current.usage.cacheCreationInputTokens ?? 0) + usage.cacheCreationInputTokens;
|
|
160
198
|
}
|
|
199
|
+
if (usage.cacheCreation5mInputTokens) {
|
|
200
|
+
current.usage.cacheCreation5mInputTokens = (current.usage.cacheCreation5mInputTokens ?? 0) + usage.cacheCreation5mInputTokens;
|
|
201
|
+
}
|
|
202
|
+
if (usage.cacheCreation1hInputTokens) {
|
|
203
|
+
current.usage.cacheCreation1hInputTokens = (current.usage.cacheCreation1hInputTokens ?? 0) + usage.cacheCreation1hInputTokens;
|
|
204
|
+
}
|
|
205
|
+
if (usage.webSearchRequests) {
|
|
206
|
+
current.usage.webSearchRequests = (current.usage.webSearchRequests ?? 0) + usage.webSearchRequests;
|
|
207
|
+
}
|
|
161
208
|
}
|
|
162
209
|
else {
|
|
163
210
|
current.usage = { ...usage };
|
|
@@ -180,6 +227,11 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
180
227
|
callbacks.onExtractionResult?.(name, filename, lineRange, findingsCount, method);
|
|
181
228
|
}
|
|
182
229
|
: undefined,
|
|
230
|
+
onChunkComplete: callbacks.onChunkComplete
|
|
231
|
+
? (chunk) => {
|
|
232
|
+
callbacks.onChunkComplete?.(skill.name, chunk);
|
|
233
|
+
}
|
|
234
|
+
: undefined,
|
|
183
235
|
onHunkFailed: callbacks.onHunkFailed
|
|
184
236
|
? (lineRange, error) => {
|
|
185
237
|
callbacks.onHunkFailed?.(name, filename, lineRange, error);
|
|
@@ -275,14 +327,22 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
275
327
|
// scenario where every hunk's SDK call succeeded but every extraction
|
|
276
328
|
// failed — a silent zero-findings run otherwise.
|
|
277
329
|
const totalAttemptFailures = totalFailedHunks + totalFailedExtractions;
|
|
278
|
-
|
|
330
|
+
const circuitReason = runnerOptions.circuitBreaker?.reason;
|
|
331
|
+
if (totalHunks > 0
|
|
332
|
+
&& allFindings.length === 0
|
|
333
|
+
&& totalAttemptFailures > 0
|
|
334
|
+
&& (circuitReason
|
|
335
|
+
|| (totalAttemptFailures === totalHunks
|
|
336
|
+
&& !(runnerOptions.abortController?.signal.aborted ?? false)))) {
|
|
279
337
|
const auxUsage = aggregateAuxiliaryUsage(allAuxEntries);
|
|
280
|
-
const
|
|
281
|
-
|
|
282
|
-
|
|
338
|
+
const error = summarizeRunFailure({
|
|
339
|
+
totalHunks,
|
|
340
|
+
hunkFailures: allHunkFailures,
|
|
341
|
+
circuitReason,
|
|
342
|
+
});
|
|
283
343
|
const errorReport = {
|
|
284
344
|
skill: skill.name,
|
|
285
|
-
summary: `${skill.name}:
|
|
345
|
+
summary: `${skill.name}: failed (${error.code})`,
|
|
286
346
|
findings: [],
|
|
287
347
|
usage: aggregateUsage(allUsage),
|
|
288
348
|
durationMs: duration,
|
|
@@ -303,8 +363,8 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
303
363
|
failedHunks: totalFailedHunks,
|
|
304
364
|
hunkFailures: allHunkFailures,
|
|
305
365
|
error: {
|
|
306
|
-
code:
|
|
307
|
-
message:
|
|
366
|
+
code: error.code,
|
|
367
|
+
message: error.message,
|
|
308
368
|
timestamp: new Date().toISOString(),
|
|
309
369
|
},
|
|
310
370
|
};
|
|
@@ -314,7 +374,7 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
314
374
|
errorReport.skippedFiles = skippedFiles;
|
|
315
375
|
if (auxUsage)
|
|
316
376
|
errorReport.auxiliaryUsage = auxUsage;
|
|
317
|
-
callbacks.onSkillError(name,
|
|
377
|
+
callbacks.onSkillError(name, error.message);
|
|
318
378
|
// Mirror the success path: emit a final completion event with the
|
|
319
379
|
// (errored) report so terminal renderers print the per-skill
|
|
320
380
|
// summary line. Without this, console mode shows the error string
|
|
@@ -323,59 +383,49 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
323
383
|
status: 'error',
|
|
324
384
|
durationMs: duration,
|
|
325
385
|
findings: [],
|
|
386
|
+
usage: errorReport.usage,
|
|
387
|
+
auxiliaryUsage: errorReport.auxiliaryUsage,
|
|
326
388
|
});
|
|
327
389
|
callbacks.onSkillComplete(name, errorReport);
|
|
328
390
|
// Carry a typed error alongside the report so consumers that re-throw
|
|
329
391
|
// (action executor, Sentry.captureException) preserve the ErrorCode.
|
|
330
|
-
const runnerError = new SkillRunnerError(
|
|
392
|
+
const runnerError = new SkillRunnerError(error.message, { code: error.code });
|
|
331
393
|
return { name, report: errorReport, error: runnerError, failOn, minConfidence };
|
|
332
394
|
}
|
|
333
|
-
const
|
|
334
|
-
|
|
335
|
-
// Merge findings that describe the same issue at different locations
|
|
336
|
-
const mergeResult = await mergeCrossLocationFindings(uniqueFindings, {
|
|
337
|
-
apiKey: runnerOptions.apiKey,
|
|
338
|
-
repoPath: context.repoPath,
|
|
339
|
-
maxRetries: runnerOptions.auxiliaryMaxRetries,
|
|
340
|
-
});
|
|
341
|
-
let mergedFindings = mergeResult.findings;
|
|
342
|
-
if (mergeResult.usage) {
|
|
343
|
-
allAuxEntries.push({ agent: 'merge', usage: mergeResult.usage });
|
|
344
|
-
}
|
|
345
|
-
const sanitized = await sanitizeFindingsSuggestedFixes(mergedFindings, {
|
|
395
|
+
const processed = await postProcessFindings(allFindings, {
|
|
396
|
+
skill,
|
|
346
397
|
repoPath: context.repoPath,
|
|
347
398
|
apiKey: runnerOptions.apiKey,
|
|
348
|
-
|
|
399
|
+
runtime: runnerOptions.runtime,
|
|
400
|
+
auxiliaryModel: runnerOptions.auxiliaryModel,
|
|
401
|
+
synthesisModel: runnerOptions.synthesisModel,
|
|
402
|
+
auxiliaryMaxRetries: runnerOptions.auxiliaryMaxRetries,
|
|
403
|
+
verifyFindings: runnerOptions.verifyFindings,
|
|
404
|
+
maxTurns: runnerOptions.maxTurns,
|
|
405
|
+
abortController: runnerOptions.abortController,
|
|
406
|
+
pathToClaudeCodeExecutable: runnerOptions.pathToClaudeCodeExecutable,
|
|
407
|
+
prContext,
|
|
408
|
+
onFindingProcessing: (event) => {
|
|
409
|
+
callbacks.onFindingProcessing?.(name, event);
|
|
410
|
+
},
|
|
349
411
|
});
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
allAuxEntries.push({ agent: 'fix_gate', usage: sanitized.usage });
|
|
353
|
-
}
|
|
354
|
-
emitFixGateMetrics(skill.name, sanitized.stats.checked, sanitized.stats.strippedDeterministic, sanitized.stats.strippedSemantic, sanitized.stats.semanticUnavailable);
|
|
355
|
-
if (sanitized.stats.checked > 0) {
|
|
356
|
-
logger.info('Suggested fix quality gate', {
|
|
357
|
-
'fix_gate.checked': sanitized.stats.checked,
|
|
358
|
-
'fix_gate.stripped_deterministic': sanitized.stats.strippedDeterministic,
|
|
359
|
-
'fix_gate.stripped_semantic': sanitized.stats.strippedSemantic,
|
|
360
|
-
'fix_gate.semantic_unavailable': sanitized.stats.semanticUnavailable,
|
|
361
|
-
});
|
|
362
|
-
}
|
|
412
|
+
const finalFindings = processed.findings;
|
|
413
|
+
allAuxEntries.push(...processed.auxiliaryUsage);
|
|
363
414
|
const report = {
|
|
364
415
|
skill: skill.name,
|
|
365
|
-
summary: generateSummary(skill.name,
|
|
366
|
-
findings:
|
|
416
|
+
summary: generateSummary(skill.name, finalFindings),
|
|
417
|
+
findings: finalFindings,
|
|
367
418
|
usage: aggregateUsage(allUsage),
|
|
368
419
|
durationMs: duration,
|
|
369
420
|
model: runnerOptions?.model,
|
|
370
|
-
files: preparedFiles.map((file, i) => {
|
|
421
|
+
files: buildFileReports(preparedFiles.map((file, i) => {
|
|
371
422
|
const r = allResults[i];
|
|
372
423
|
return {
|
|
373
424
|
filename: file.filename,
|
|
374
|
-
findings: r?.findings.length ?? 0,
|
|
375
425
|
durationMs: r?.durationMs,
|
|
376
426
|
usage: r?.usage,
|
|
377
427
|
};
|
|
378
|
-
}),
|
|
428
|
+
}), finalFindings),
|
|
379
429
|
};
|
|
380
430
|
if (skippedFiles.length > 0) {
|
|
381
431
|
report.skippedFiles = skippedFiles;
|
|
@@ -403,8 +453,9 @@ export async function runSkillTask(options, fileConcurrency, callbacks, semaphor
|
|
|
403
453
|
callbacks.onSkillUpdate(name, {
|
|
404
454
|
status: 'done',
|
|
405
455
|
durationMs: duration,
|
|
406
|
-
findings:
|
|
456
|
+
findings: finalFindings,
|
|
407
457
|
usage: report.usage,
|
|
458
|
+
auxiliaryUsage: report.auxiliaryUsage,
|
|
408
459
|
});
|
|
409
460
|
callbacks.onSkillComplete(name, report);
|
|
410
461
|
return { name, report, failOn, minConfidence };
|
|
@@ -591,6 +642,11 @@ export function createDefaultCallbacks(tasks, mode, verbosity) {
|
|
|
591
642
|
debugLog(mode, `Extracted ${findingsCount} ${pluralize(findingsCount, 'finding')} from ${filename}:${lineRange} via ${method}`);
|
|
592
643
|
}
|
|
593
644
|
: undefined,
|
|
645
|
+
onFindingProcessing: verbosity >= Verbosity.Debug
|
|
646
|
+
? (_skillName, event) => {
|
|
647
|
+
debugLog(mode, formatFindingProcessingEvent(event));
|
|
648
|
+
}
|
|
649
|
+
: undefined,
|
|
594
650
|
// Verbose mode: show per-hunk analysis failures (spec: event #16 hunk_failed)
|
|
595
651
|
onHunkFailed: verbosity >= Verbosity.Verbose
|
|
596
652
|
? (_skillName, filename, lineRange, error) => {
|
|
@@ -637,12 +693,9 @@ export function createDefaultCallbacks(tasks, mode, verbosity) {
|
|
|
637
693
|
: undefined,
|
|
638
694
|
};
|
|
639
695
|
}
|
|
640
|
-
|
|
641
|
-
* Create an AbortController that fires when either of two controllers abort.
|
|
642
|
-
*/
|
|
643
|
-
function composeAbortControllers(a, b) {
|
|
696
|
+
function composeAbortControllers(...controllers) {
|
|
644
697
|
const composed = new AbortController();
|
|
645
|
-
for (const ctrl of
|
|
698
|
+
for (const ctrl of controllers) {
|
|
646
699
|
if (ctrl?.signal.aborted) {
|
|
647
700
|
composed.abort();
|
|
648
701
|
return composed;
|
|
@@ -652,17 +705,17 @@ function composeAbortControllers(a, b) {
|
|
|
652
705
|
return composed;
|
|
653
706
|
}
|
|
654
707
|
/**
|
|
655
|
-
*
|
|
656
|
-
* Returns the original tasks unchanged when no controller is provided.
|
|
708
|
+
* Share abort/circuit state across task runner options.
|
|
657
709
|
*/
|
|
658
|
-
export function composeTasksWithFailFast(tasks, failFastController) {
|
|
659
|
-
if (!failFastController)
|
|
710
|
+
export function composeTasksWithFailFast(tasks, failFastController, circuitBreaker, circuitAbortController) {
|
|
711
|
+
if (!failFastController && !circuitBreaker && !circuitAbortController)
|
|
660
712
|
return tasks;
|
|
661
713
|
return tasks.map((task) => ({
|
|
662
714
|
...task,
|
|
663
715
|
runnerOptions: {
|
|
664
716
|
...task.runnerOptions,
|
|
665
|
-
abortController: composeAbortControllers(task.runnerOptions?.abortController, failFastController),
|
|
717
|
+
abortController: composeAbortControllers(task.runnerOptions?.abortController, failFastController, circuitAbortController),
|
|
718
|
+
circuitBreaker: task.runnerOptions?.circuitBreaker ?? circuitBreaker,
|
|
666
719
|
},
|
|
667
720
|
}));
|
|
668
721
|
}
|
|
@@ -678,7 +731,7 @@ export async function runComposedSkillTasks(tasks, callbacks, semaphore) {
|
|
|
678
731
|
* Uses callbacks to report progress for Ink rendering.
|
|
679
732
|
*/
|
|
680
733
|
export async function runSkillTasks(tasks, options, callbacks) {
|
|
681
|
-
const { mode, verbosity, concurrency, failFastController, onSkillComplete } = options;
|
|
734
|
+
const { mode, verbosity, concurrency, failFastController, onSkillComplete, onChunkComplete } = options;
|
|
682
735
|
// Global semaphore gates file-level work across all skills.
|
|
683
736
|
// All skills launch immediately so the UI shows them as "running",
|
|
684
737
|
// but only `concurrency` files will be analysed at any time.
|
|
@@ -686,22 +739,26 @@ export async function runSkillTasks(tasks, options, callbacks) {
|
|
|
686
739
|
const effectiveCallbacks = callbacks ?? createDefaultCallbacks(tasks, mode, verbosity);
|
|
687
740
|
const wrappedCallbacks = {
|
|
688
741
|
...effectiveCallbacks,
|
|
689
|
-
...(failFastController
|
|
742
|
+
...(onSkillComplete || failFastController
|
|
690
743
|
? {
|
|
691
|
-
|
|
692
|
-
effectiveCallbacks.
|
|
693
|
-
|
|
744
|
+
onSkillComplete: (name, report) => {
|
|
745
|
+
effectiveCallbacks.onSkillComplete(name, report);
|
|
746
|
+
try {
|
|
747
|
+
onSkillComplete?.(report);
|
|
748
|
+
}
|
|
749
|
+
catch { /* streaming hook must not break the run */ }
|
|
750
|
+
if (failFastController && report.findings.length > 0) {
|
|
694
751
|
failFastController.abort();
|
|
695
752
|
}
|
|
696
753
|
},
|
|
697
754
|
}
|
|
698
755
|
: {}),
|
|
699
|
-
...(
|
|
756
|
+
...(onChunkComplete
|
|
700
757
|
? {
|
|
701
|
-
|
|
702
|
-
effectiveCallbacks.
|
|
758
|
+
onChunkComplete: (name, chunk) => {
|
|
759
|
+
effectiveCallbacks.onChunkComplete?.(name, chunk);
|
|
703
760
|
try {
|
|
704
|
-
|
|
761
|
+
onChunkComplete(name, chunk);
|
|
705
762
|
}
|
|
706
763
|
catch { /* streaming hook must not break the run */ }
|
|
707
764
|
},
|
|
@@ -712,12 +769,15 @@ export async function runSkillTasks(tasks, options, callbacks) {
|
|
|
712
769
|
if (verbosity !== Verbosity.Quiet && tasks.length > 0 && mode.isTTY) {
|
|
713
770
|
console.error(chalk.bold('SKILLS'));
|
|
714
771
|
}
|
|
772
|
+
const circuitAbortController = new AbortController();
|
|
773
|
+
const circuitBreaker = new ProviderFailureCircuitBreaker({ abortController: circuitAbortController });
|
|
774
|
+
const composedTasks = composeTasksWithFailFast(tasks, failFastController, circuitBreaker, circuitAbortController);
|
|
715
775
|
// Listen for abort signal to show interrupt message (non-TTY only; Ink handles TTY)
|
|
716
|
-
const abortSignal =
|
|
776
|
+
const abortSignal = composedTasks[0]?.runnerOptions?.abortController?.signal;
|
|
717
777
|
if (abortSignal && !abortSignal.aborted && !mode.isTTY && verbosity !== Verbosity.Quiet) {
|
|
718
778
|
abortSignal.addEventListener('abort', () => {
|
|
719
779
|
// Only show interrupt message for user SIGINT, not fail-fast
|
|
720
|
-
if (!failFastController?.signal.aborted) {
|
|
780
|
+
if (!failFastController?.signal.aborted && !circuitAbortController.signal.aborted) {
|
|
721
781
|
logPlain('Interrupted, finishing up... (press Ctrl+C again to force exit)');
|
|
722
782
|
}
|
|
723
783
|
}, { once: true });
|
|
@@ -728,8 +788,6 @@ export async function runSkillTasks(tasks, options, callbacks) {
|
|
|
728
788
|
logPlain('Stopping \u2014 finding detected (--fail-fast)');
|
|
729
789
|
}, { once: true });
|
|
730
790
|
}
|
|
731
|
-
// Compose per-task abort controllers: fire on either SIGINT or fail-fast
|
|
732
|
-
const composedTasks = composeTasksWithFailFast(tasks, failFastController);
|
|
733
791
|
// Launch all skills in parallel; the semaphore is the sole concurrency gate.
|
|
734
792
|
return runComposedSkillTasks(composedTasks, wrappedCallbacks, semaphore);
|
|
735
793
|
}
|