@vibe-agent-toolkit/cli 0.1.41-rc.6 → 0.1.41-rc.8
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/README.md +4 -3
- package/dist/bin/vat +25 -2
- package/dist/bin/vat.js +25 -2
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/list.d.ts +11 -0
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +30 -11
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts +6 -2
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +93 -50
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit-settings.d.ts +35 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +121 -51
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +97 -2
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +505 -231
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +126 -32
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +39 -2
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +114 -68
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +5 -4
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +97 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +157 -49
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +11 -3
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +70 -20
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/stubs.d.ts +9 -1
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +11 -3
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +116 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +173 -40
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/marketplace-json.d.ts +36 -0
- package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -0
- package/dist/commands/claude/plugin/marketplace-json.js +34 -0
- package/dist/commands/claude/plugin/marketplace-json.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts +30 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +107 -14
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +0 -1
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +22 -4
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -0
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +16 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +55 -48
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/doctor.d.ts +57 -8
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +142 -67
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts +2 -0
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +45 -4
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +240 -11
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +352 -15
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +40 -0
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +47 -20
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +38 -13
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/scan.d.ts +37 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +47 -32
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +136 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +121 -68
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +40 -23
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +8 -6
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +140 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +348 -94
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +6 -10
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +6 -22
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/list.d.ts +18 -0
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +41 -15
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +17 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +72 -43
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +9 -1
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +22 -6
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +79 -0
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +268 -79
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +79 -66
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +38 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +247 -84
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/skill-resolution/index.d.ts +1 -1
- package/dist/skill-resolution/index.d.ts.map +1 -1
- package/dist/skill-resolution/index.js +1 -1
- package/dist/skill-resolution/index.js.map +1 -1
- package/dist/skill-resolution/packaging-config.d.ts +15 -2
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +39 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/utils/command-error.d.ts +34 -1
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +32 -1
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +0 -2
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/help-loader.d.ts +6 -2
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +9 -16
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-anchor.d.ts +26 -0
- package/dist/utils/issue-anchor.d.ts.map +1 -0
- package/dist/utils/issue-anchor.js +39 -0
- package/dist/utils/issue-anchor.js.map +1 -0
- package/dist/utils/issue-rendering.d.ts +149 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -0
- package/dist/utils/issue-rendering.js +229 -0
- package/dist/utils/issue-rendering.js.map +1 -0
- package/dist/utils/output.d.ts +80 -9
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +138 -23
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +2 -2
- package/dist/utils/project-root-policy.js +2 -2
- package/dist/utils/relativize-paths.d.ts +45 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -0
- package/dist/utils/relativize-paths.js +67 -0
- package/dist/utils/relativize-paths.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +21 -2
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +85 -11
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +22 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +26 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts +3 -2
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +48 -5
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +14 -5
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +19 -16
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/audit.md +40 -14
- package/docs/doctor.md +46 -10
- package/docs/index.md +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +54 -22
- package/docs/skills.md +11 -7
- package/package.json +12 -12
|
@@ -8,13 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
10
|
import { rm } from 'node:fs/promises';
|
|
11
|
+
import { allowUnusedIssues, calculateValidationStatus, countBySeverity, createAllowUsageLedger, } from '@vibe-agent-toolkit/agent-schema';
|
|
11
12
|
import { packageSkills, packagingConfigToPackageOptions, skillNameToFsPath, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
12
13
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
13
14
|
import { Command } from 'commander';
|
|
14
|
-
import
|
|
15
|
+
import * as yaml from 'yaml';
|
|
16
|
+
import { handleCommandError, handleValidationGateFailure } from '../../utils/command-error.js';
|
|
15
17
|
import { loadConfig } from '../../utils/config-loader.js';
|
|
18
|
+
import { collectPostBuildIssues, formatIssueLines, formatIssueSetHeading, formatRunIssueLines, issuesToRenderAtVerbosity, sumSeverityCounts, } from '../../utils/issue-rendering.js';
|
|
16
19
|
import { requireProjectRoot } from '../../utils/project-root-policy.js';
|
|
17
|
-
import { mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
20
|
+
import { collectDeclaredEvalSuites, mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
18
21
|
import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
|
|
19
22
|
import { filterSkillsByName, setupCommandContext, writeYamlHeader, } from './command-helpers.js';
|
|
20
23
|
import { discoverSkillsFromConfig } from './skill-discovery.js';
|
|
@@ -25,6 +28,7 @@ export function createBuildCommand() {
|
|
|
25
28
|
.argument('[path]', 'Path to project directory (default: current directory)')
|
|
26
29
|
.option('--skill <name>', 'Build specific skill only')
|
|
27
30
|
.option('--dry-run', 'Preview build without creating files')
|
|
31
|
+
.option('-v, --verbose', 'Show every individual finding, not just the errors')
|
|
28
32
|
.option('--debug', 'Enable debug logging')
|
|
29
33
|
.action(buildCommand)
|
|
30
34
|
.addHelpText('after', `
|
|
@@ -64,9 +68,38 @@ Output:
|
|
|
64
68
|
YAML summary -> stdout (for programmatic parsing)
|
|
65
69
|
Build progress -> stderr (for human reading)
|
|
66
70
|
|
|
71
|
+
On stderr, every findings heading names the whole set and its severity
|
|
72
|
+
breakdown, and errors are always printed in full beneath it. Warnings and
|
|
73
|
+
info findings stay collapsed into that heading unless --verbose, because
|
|
74
|
+
they are the high-cardinality ones (one adopter skill carries 348
|
|
75
|
+
LINK_DROPPED_BY_DEPTH warnings alone). The stdout YAML is NOT affected by
|
|
76
|
+
--verbose: it carries every finding at every verbosity.
|
|
77
|
+
|
|
78
|
+
skills: one row per skill that produced a bundle
|
|
79
|
+
failedSkills: one row per skill that could not be packaged AT ALL (no
|
|
80
|
+
bundle exists for it); each carries name, error and an
|
|
81
|
+
issueCounts of one error
|
|
82
|
+
skillsWithErrors / skillsWithErrorNames:
|
|
83
|
+
the OTHER failure mode — skills that packaged fine and then
|
|
84
|
+
emitted post-build validation errors. They are counted in
|
|
85
|
+
skillsBuilt, not skillsFailed, so read BOTH before concluding
|
|
86
|
+
a run was clean: the exit code follows this one too.
|
|
87
|
+
runIssueCounts: findings that belong to the run rather than to any one
|
|
88
|
+
skill (ALLOW_UNUSED)
|
|
89
|
+
issueCounts: the run total, which reconciles against the rows above:
|
|
90
|
+
|
|
91
|
+
issueCounts = sum(skills[].issueCounts)
|
|
92
|
+
+ sum(failedSkills[].issueCounts)
|
|
93
|
+
+ runIssueCounts
|
|
94
|
+
|
|
95
|
+
Every error, warning and info in the header total is
|
|
96
|
+
therefore attributable to a row you can point at.
|
|
97
|
+
|
|
67
98
|
Exit Codes:
|
|
68
99
|
0 - All skills built successfully (or dry-run preview)
|
|
69
|
-
1 - One or more skills emitted validation errors
|
|
100
|
+
1 - One or more skills emitted validation errors, or could not be packaged
|
|
101
|
+
at all (a skill that fails to package does NOT abort the others; the
|
|
102
|
+
rest still build and the failures are listed under failedSkills)
|
|
70
103
|
2 - System error (config invalid, directory not found)
|
|
71
104
|
|
|
72
105
|
Requirements:
|
|
@@ -81,54 +114,69 @@ Example:
|
|
|
81
114
|
return command;
|
|
82
115
|
}
|
|
83
116
|
/**
|
|
84
|
-
*
|
|
117
|
+
* Render every emitted pre-build finding, each labelled with its own severity.
|
|
118
|
+
*
|
|
119
|
+
* `allErrors` is the full emitted set INCLUDING info (its name lies — see the
|
|
120
|
+
* doc comment on `PackagingValidationResult`). Walking only the errors plus the
|
|
121
|
+
* `ALLOW_EXPIRED` subset of the warnings, which is what this used to do,
|
|
122
|
+
* dropped every other warning and every info finding from a report that had
|
|
123
|
+
* already decided to abort the build.
|
|
124
|
+
*
|
|
125
|
+
* `verbose` picks how much of that set is spelled out, never how much of it is
|
|
126
|
+
* COUNTED: the heading is built from `allErrors` either way, so the severity
|
|
127
|
+
* breakdown stays whole even when the bodies below it do not (see
|
|
128
|
+
* `issuesToRenderAtVerbosity`). Every error is printed at both verbosities —
|
|
129
|
+
* these are the findings that just aborted the build, so putting one behind a
|
|
130
|
+
* flag would mean re-running to learn what broke.
|
|
131
|
+
*
|
|
132
|
+
* Pure so the whole set is assertable, not a chosen subset of it.
|
|
85
133
|
*/
|
|
86
|
-
function
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
logger.error(` Location: ${String(error.location)}`);
|
|
93
|
-
}
|
|
94
|
-
if (error.fix) {
|
|
95
|
-
logger.error(` Fix: ${String(error.fix)}`);
|
|
96
|
-
}
|
|
134
|
+
export function formatPreBuildIssueReport(validationResult, verbose) {
|
|
135
|
+
const lines = [];
|
|
136
|
+
if (validationResult.allErrors.length > 0) {
|
|
137
|
+
lines.push(`\n ${formatIssueSetHeading(validationResult.allErrors)}:`);
|
|
138
|
+
for (const issue of issuesToRenderAtVerbosity(validationResult.allErrors, verbose)) {
|
|
139
|
+
lines.push(...formatIssueLines(issue, ' '));
|
|
97
140
|
}
|
|
98
141
|
}
|
|
142
|
+
return lines;
|
|
99
143
|
}
|
|
100
144
|
/**
|
|
101
|
-
*
|
|
145
|
+
* Render post-build integrity issues, each prefixed by its OWN resolved severity.
|
|
146
|
+
*
|
|
147
|
+
* Reads BOTH post-build channels (see `collectPostBuildIssues`) so a build that
|
|
148
|
+
* failed purely on the built-output validation still shows the findings that
|
|
149
|
+
* failed it, and the heading names the set's actual severity mix rather than
|
|
150
|
+
* calling every set by its worst member.
|
|
151
|
+
*
|
|
152
|
+
* The heading is unconditional and counts the WHOLE set; `verbose` decides only
|
|
153
|
+
* which findings get a block beneath it (see `issuesToRenderAtVerbosity`). This
|
|
154
|
+
* loop printing every occurrence is what made a 90-skill build emit 6,552 stderr
|
|
155
|
+
* lines against the 804 `vat skills validate` emitted for the same corpus — 1,620
|
|
156
|
+
* of them one high-cardinality warning code. A set whose findings all collapse
|
|
157
|
+
* still renders its heading: collapsing that too would turn a warning-carrying
|
|
158
|
+
* build into silence, which is the reassuring direction this module warns about.
|
|
159
|
+
*
|
|
160
|
+
* Pure: returns the lines instead of writing them, so the whole rendered set is
|
|
161
|
+
* assertable without capturing a stream.
|
|
102
162
|
*/
|
|
103
|
-
function
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
163
|
+
export function formatPostBuildIssueReport(result, verbose) {
|
|
164
|
+
const issues = collectPostBuildIssues(result);
|
|
165
|
+
if (issues.length === 0)
|
|
166
|
+
return [];
|
|
167
|
+
const lines = [` ${formatIssueSetHeading(issues, 'post-build')}:`];
|
|
168
|
+
for (const issue of issuesToRenderAtVerbosity(issues, verbose)) {
|
|
169
|
+
lines.push(...formatIssueLines(issue, ' '));
|
|
110
170
|
}
|
|
171
|
+
return lines;
|
|
111
172
|
}
|
|
112
173
|
/**
|
|
113
|
-
* Log post-build integrity issues
|
|
114
|
-
*
|
|
115
|
-
* Errors are emitted to stderr; warnings and info to stderr as well so they
|
|
116
|
-
* appear in the human-readable stream (not the YAML stdout stream).
|
|
174
|
+
* Log post-build integrity issues to stderr (the human stream; stdout is
|
|
175
|
+
* reserved for the YAML summary).
|
|
117
176
|
*/
|
|
118
|
-
function logPostBuildIssues(result, logger) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const label = result.hasErrors ? 'post-build error(s)' : 'post-build warning(s)';
|
|
122
|
-
logger.info(` ${result.postBuildIssues.length} ${label}:`);
|
|
123
|
-
for (const issue of result.postBuildIssues) {
|
|
124
|
-
const prefix = issue.severity === 'error' ? 'ERROR' : 'WARNING';
|
|
125
|
-
logger.info(` [${prefix}] [${String(issue.code)}] ${String(issue.message)}`);
|
|
126
|
-
if (issue.location) {
|
|
127
|
-
logger.info(` Location: ${String(issue.location)}`);
|
|
128
|
-
}
|
|
129
|
-
if (issue.fix) {
|
|
130
|
-
logger.info(` Fix: ${String(issue.fix)}`);
|
|
131
|
-
}
|
|
177
|
+
function logPostBuildIssues(result, logger, verbose) {
|
|
178
|
+
for (const line of formatPostBuildIssueReport(result, verbose)) {
|
|
179
|
+
logger.info(line);
|
|
132
180
|
}
|
|
133
181
|
}
|
|
134
182
|
/**
|
|
@@ -142,27 +190,36 @@ function displayIgnoredErrors(validationResult, logger) {
|
|
|
142
190
|
}
|
|
143
191
|
}
|
|
144
192
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
*/
|
|
148
|
-
async function validateSkillOrExit(skillName, sourcePath, packagingConfig, logger) {
|
|
193
|
+
async function validateSkillOrExit(input) {
|
|
194
|
+
const { skillName, sourcePath, packagingConfig, logger, locationRoot, allowLedger, projectSkills, verbose } = input;
|
|
149
195
|
logger.debug(` Validating skill: ${skillName}`);
|
|
150
|
-
|
|
151
|
-
|
|
196
|
+
// The run's ledger, not this call's: an allow entry scoped to a SOURCE
|
|
197
|
+
// filename can only ever match here — packaging renames the file to
|
|
198
|
+
// `SKILL.md` and the built lane drops the source-only codes — so a build that
|
|
199
|
+
// withholds this lane's matches from the run reports live entries as dead.
|
|
200
|
+
//
|
|
201
|
+
// The run's declared eval suites likewise: this lane must model the same bundle
|
|
202
|
+
// the packager below produces, and that bundle excludes EVERY skill's test input.
|
|
203
|
+
const validationResult = await validateSkillForPackaging(sourcePath, packagingConfig, 'source', { allowLedger, projectSkills });
|
|
204
|
+
applyConfigVerdicts(validationResult, packagingConfig.targets, sourcePath, locationRoot);
|
|
152
205
|
if (validationResult.status !== 'error') {
|
|
153
206
|
if (validationResult.ignoredErrors.length > 0) {
|
|
154
207
|
logger.debug(` ${validationResult.ignoredErrors.length} issue(s) allowed by config`);
|
|
155
208
|
}
|
|
156
209
|
return;
|
|
157
210
|
}
|
|
158
|
-
// Validation failed - display
|
|
211
|
+
// Validation failed - display every emitted finding and exit
|
|
159
212
|
logger.error(`\nSkill validation failed: ${skillName}`);
|
|
160
213
|
logger.error(` Source: ${sourcePath}`);
|
|
161
|
-
|
|
162
|
-
|
|
214
|
+
for (const line of formatPreBuildIssueReport(validationResult, verbose)) {
|
|
215
|
+
logger.error(line);
|
|
216
|
+
}
|
|
163
217
|
displayIgnoredErrors(validationResult, logger);
|
|
164
218
|
logger.error(`\n Build aborted due to validation errors`);
|
|
165
|
-
|
|
219
|
+
// Every finding above went to STDERR. Exiting here without the stdout summary
|
|
220
|
+
// is what made `vat skills build | jq .status` return an empty document
|
|
221
|
+
// alongside exit 1 — the one case the help text documents exit 1 for.
|
|
222
|
+
handleValidationGateFailure(skillName, validationResult.allErrors);
|
|
166
223
|
}
|
|
167
224
|
/**
|
|
168
225
|
* Output dry-run results
|
|
@@ -171,6 +228,11 @@ function outputDryRunYaml(skills, duration) {
|
|
|
171
228
|
writeYamlHeader({
|
|
172
229
|
status: 'success',
|
|
173
230
|
dryRun: true,
|
|
231
|
+
// A dry run validates NOTHING, so it has no severity distribution to
|
|
232
|
+
// publish. Saying so is the point: an absent `issueCounts` next to
|
|
233
|
+
// `status: success` otherwise reads as "clean", which is the reassuring
|
|
234
|
+
// misreading. This field makes the absence explicit instead.
|
|
235
|
+
validated: false,
|
|
174
236
|
skillsFound: skills.length,
|
|
175
237
|
});
|
|
176
238
|
process.stdout.write(`skills:\n`);
|
|
@@ -197,21 +259,132 @@ function performDryRun(skillsToBuild, duration, logger) {
|
|
|
197
259
|
logger.info(`\nDry-run complete (no files created)`);
|
|
198
260
|
logger.info(` Run without --dry-run to build the skills`);
|
|
199
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* What ONE unpackageable skill contributes to the run's counts.
|
|
264
|
+
*
|
|
265
|
+
* A fresh object per row: these are published as separate YAML nodes, and a
|
|
266
|
+
* shared reference is how a document grows anchors (or a later mutation edits
|
|
267
|
+
* every row at once).
|
|
268
|
+
*/
|
|
269
|
+
const failureIssueCounts = () => ({ errors: 1, warnings: 0, info: 0 });
|
|
270
|
+
/**
|
|
271
|
+
* The archived summary of a build, as YAML fields.
|
|
272
|
+
*
|
|
273
|
+
* `status` used to be the literal `success` — printed even for a build that then
|
|
274
|
+
* exited 1 on post-build errors, so the machine-readable half of the output
|
|
275
|
+
* contradicted the exit code, in the reassuring direction. It is now derived
|
|
276
|
+
* from the same issues the human stream renders, and the per-severity counts
|
|
277
|
+
* ride beside it because a status cannot express a three-valued distribution:
|
|
278
|
+
* `success` here means "nothing you must act on", not "there was nothing to see".
|
|
279
|
+
*
|
|
280
|
+
* The header total reconciles against the document, by construction:
|
|
281
|
+
*
|
|
282
|
+
* issueCounts === Σ skills[].issueCounts
|
|
283
|
+
* + Σ failedSkills[].issueCounts
|
|
284
|
+
* + runIssueCounts
|
|
285
|
+
*
|
|
286
|
+
* Every addend therefore has a ROW a reader can point at. Counting the failures
|
|
287
|
+
* only in the header — which is how this first shipped — reproduced, one command
|
|
288
|
+
* over, the exact defect `vat skills validate` was fixed for: a header reporting
|
|
289
|
+
* more than its rows summed to (there, 1814 warnings against 1800), leaving a
|
|
290
|
+
* consumer to hand-count a list to find out what the difference was. `--help`
|
|
291
|
+
* states this identity; changing it means changing that text too.
|
|
292
|
+
*/
|
|
293
|
+
export function buildYamlSummary(results, failures, duration, runIssues, skillsWithErrors) {
|
|
294
|
+
const perSkill = results.map(({ name, result }) => {
|
|
295
|
+
const issues = collectPostBuildIssues(result);
|
|
296
|
+
return {
|
|
297
|
+
name,
|
|
298
|
+
// KNOWN, DELIBERATELY NOT FIXED — this is an ABSOLUTE path, so stdout carries
|
|
299
|
+
// `$HOME`. Confirmed on a real 90-skill adopter run:
|
|
300
|
+
// `outputPath: /Users/<user>/Workspaces/.../dist/skills/<name>`. It is absolute
|
|
301
|
+
// because `runSkillBuild` builds it with `safePath.resolve(cwd, 'dist', ...)`.
|
|
302
|
+
//
|
|
303
|
+
// Do NOT "helpfully" relativize it. It is blocked on an approved-but-unbuilt
|
|
304
|
+
// design decision that is the project owner's call: the document must state one
|
|
305
|
+
// `root:` and re-base every path onto it, the same coordinate-system rule
|
|
306
|
+
// `vat audit` already follows (see `deriveScanRoot` in ../audit.ts — "the ONE base
|
|
307
|
+
// every `path` and `location` in a report is expressed relative to"). Making this
|
|
308
|
+
// one field relative ahead of that decision picks the anchor by accident and
|
|
309
|
+
// leaves the document in two coordinate systems.
|
|
310
|
+
outputPath: result.outputPath,
|
|
311
|
+
filesPackaged: result.files.dependencies.length + 1,
|
|
312
|
+
issueCounts: countBySeverity(issues),
|
|
313
|
+
issues,
|
|
314
|
+
};
|
|
315
|
+
});
|
|
316
|
+
const allIssues = perSkill.flatMap((s) => s.issues);
|
|
317
|
+
const runIssueCounts = countBySeverity(runIssues);
|
|
318
|
+
// A skill that THREW emits no issues at all — it never reached the lanes that
|
|
319
|
+
// produce them. Deriving the header purely from issue channels therefore said
|
|
320
|
+
// `success` for a run the command then exited 1 on, which is exactly the
|
|
321
|
+
// reassuring contradiction this summary exists to prevent. Each failure is
|
|
322
|
+
// counted as one error so `status`, `issueCounts` and the exit code agree —
|
|
323
|
+
// and that error is published ON the failure's own row (see
|
|
324
|
+
// `failureIssueCounts`), never as a header-only addend, so the identity
|
|
325
|
+
// documented in `--help` holds.
|
|
326
|
+
const failedSkills = failures.map(({ name, message }) => ({
|
|
327
|
+
name,
|
|
328
|
+
error: message,
|
|
329
|
+
issueCounts: failureIssueCounts(),
|
|
330
|
+
}));
|
|
331
|
+
return {
|
|
332
|
+
status: failures.length > 0
|
|
333
|
+
? 'error'
|
|
334
|
+
: calculateValidationStatus([...allIssues, ...runIssues]),
|
|
335
|
+
issueCounts: sumSeverityCounts([
|
|
336
|
+
...perSkill.map((s) => s.issueCounts),
|
|
337
|
+
...failedSkills.map((s) => s.issueCounts),
|
|
338
|
+
runIssueCounts,
|
|
339
|
+
]),
|
|
340
|
+
runIssueCounts,
|
|
341
|
+
skillsBuilt: results.length,
|
|
342
|
+
skillsFailed: failures.length,
|
|
343
|
+
// The OTHER meaning of "failed", published because the exit code follows
|
|
344
|
+
// THIS one and nothing in the document did. `skillsFailed` counts skills
|
|
345
|
+
// that could not be packaged at all; a skill that packaged fine and then
|
|
346
|
+
// emitted post-build validation errors is a `skillsBuilt`, so a real run
|
|
347
|
+
// printed "Build failed: 3 skill(s) emitted post-build validation errors"
|
|
348
|
+
// over `skillsFailed: 0` and `failedSkills: []`, and exited 1. A CI job
|
|
349
|
+
// reading either field saw a clean build. Both categories are now named.
|
|
350
|
+
skillsWithErrors: [...skillsWithErrors],
|
|
351
|
+
// `skills` lists what exists on disk. A failed skill is published in its own
|
|
352
|
+
// list rather than here, because every field of this shape (outputPath,
|
|
353
|
+
// filesPackaged) would have to be invented for a bundle that was not written.
|
|
354
|
+
skills: perSkill.map(({ name, outputPath, filesPackaged, issueCounts }) => ({
|
|
355
|
+
name,
|
|
356
|
+
outputPath,
|
|
357
|
+
filesPackaged,
|
|
358
|
+
issueCounts,
|
|
359
|
+
})),
|
|
360
|
+
failedSkills,
|
|
361
|
+
runIssues: [...runIssues],
|
|
362
|
+
duration: `${duration}ms`,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
200
365
|
/**
|
|
201
366
|
* Output build results
|
|
202
367
|
*/
|
|
203
|
-
function outputBuildYaml(results, duration) {
|
|
368
|
+
function outputBuildYaml(results, failures, duration, runIssues, skillsWithErrors) {
|
|
369
|
+
const summary = buildYamlSummary(results, failures, duration, runIssues, skillsWithErrors);
|
|
370
|
+
const { status, skillsBuilt, skillsFailed, issueCounts, runIssueCounts, skills, failedSkills, duration: durationText, } = summary;
|
|
371
|
+
// In the header, beside the other two counts: this is the number the exit code
|
|
372
|
+
// actually follows, so a reader who stops at the header is not misled by it.
|
|
204
373
|
writeYamlHeader({
|
|
205
|
-
status
|
|
206
|
-
skillsBuilt
|
|
374
|
+
status,
|
|
375
|
+
skillsBuilt,
|
|
376
|
+
skillsFailed,
|
|
377
|
+
skillsWithErrors: summary.skillsWithErrors.length,
|
|
207
378
|
});
|
|
208
|
-
process.stdout.write(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
379
|
+
process.stdout.write(yaml.stringify({
|
|
380
|
+
issueCounts,
|
|
381
|
+
runIssueCounts,
|
|
382
|
+
skills,
|
|
383
|
+
failedSkills,
|
|
384
|
+
skillsWithErrorNames: summary.skillsWithErrors,
|
|
385
|
+
runIssues: summary.runIssues,
|
|
386
|
+
}, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
|
|
387
|
+
process.stdout.write(`duration: ${durationText}\n`);
|
|
215
388
|
}
|
|
216
389
|
/**
|
|
217
390
|
* Clean stale skill output directories before building.
|
|
@@ -233,6 +406,94 @@ async function cleanStaleSkillOutputs(cwd, skillName) {
|
|
|
233
406
|
}
|
|
234
407
|
}
|
|
235
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Validate, package, and drain — the whole span of ONE `vat build` invocation.
|
|
411
|
+
*
|
|
412
|
+
* The allow-usage ledger created here spans EVERY skill and BOTH validation
|
|
413
|
+
* lanes (the source-tree pre-build check and the two lanes inside
|
|
414
|
+
* `packageSkill`), because `validation.allow` is declared once for the package
|
|
415
|
+
* while being evaluated once per skill per lane. Anything narrower reports
|
|
416
|
+
* entries that legitimately matched somewhere else as unused: measured on this
|
|
417
|
+
* repo's own 13-skill package, 3 live entries produced 32 false ALLOW_UNUSED
|
|
418
|
+
* warnings — 6 from the cross-skill seam, 26 because the two lanes inside
|
|
419
|
+
* `packageSkill` see a FILTERED issue population against a file packaging has
|
|
420
|
+
* renamed to `SKILL.md`, so entries scoped to a source filename are structurally
|
|
421
|
+
* incapable of matching there. A lane that sees a subset cannot answer "matched
|
|
422
|
+
* nothing"; only the union can. Hence one ledger, drained once, here.
|
|
423
|
+
*
|
|
424
|
+
* Extracted from the command body so the span is testable without driving
|
|
425
|
+
* `process.exit` — the drain seam is the thing worth asserting.
|
|
426
|
+
*/
|
|
427
|
+
export async function runSkillBuild(specs, cwd, logger, projectSkills, verbose = false) {
|
|
428
|
+
const allowLedger = createAllowUsageLedger();
|
|
429
|
+
// Validate all skills before building
|
|
430
|
+
for (const { skill, packagingConfig } of specs) {
|
|
431
|
+
const outputDir = safePath.resolve(cwd, 'dist', 'skills', skillNameToFsPath(skill.name));
|
|
432
|
+
logger.info(`\nBuilding skill: ${skill.name}`);
|
|
433
|
+
logger.info(` Source: ${skill.sourcePath}`);
|
|
434
|
+
logger.info(` Output: ${outputDir}`);
|
|
435
|
+
await validateSkillOrExit({
|
|
436
|
+
skillName: skill.name,
|
|
437
|
+
sourcePath: skill.sourcePath,
|
|
438
|
+
packagingConfig,
|
|
439
|
+
logger,
|
|
440
|
+
locationRoot: cwd,
|
|
441
|
+
allowLedger,
|
|
442
|
+
projectSkills,
|
|
443
|
+
verbose,
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
// Build all skills with a shared registry.
|
|
447
|
+
//
|
|
448
|
+
// `projectSkills` is the run's declared eval suites — the whole project's, not
|
|
449
|
+
// `specs`'. `--skill x` narrows what gets BUILT; it never narrows what counts as
|
|
450
|
+
// test input, because an excluded skill's suite is still an answer key that must
|
|
451
|
+
// not ship inside x's bundle.
|
|
452
|
+
const buildSpecs = specs.map(({ skill, packagingConfig }) => ({
|
|
453
|
+
skillPath: skill.sourcePath,
|
|
454
|
+
options: packagingConfigToPackageOptions(packagingConfig, {
|
|
455
|
+
skillPath: skill.sourcePath,
|
|
456
|
+
outputPath: safePath.resolve(cwd, 'dist', 'skills', skillNameToFsPath(skill.name)),
|
|
457
|
+
}, projectSkills),
|
|
458
|
+
}));
|
|
459
|
+
const outcomes = await packageSkills(buildSpecs, cwd, allowLedger);
|
|
460
|
+
const results = [];
|
|
461
|
+
const skillsWithErrors = [];
|
|
462
|
+
const failures = [];
|
|
463
|
+
for (const [i, spec] of specs.entries()) {
|
|
464
|
+
const outcome = outcomes[i];
|
|
465
|
+
if (!outcome)
|
|
466
|
+
continue;
|
|
467
|
+
if (outcome.status === 'failed') {
|
|
468
|
+
// No `Built N files` line here: nothing was built, and claiming a count
|
|
469
|
+
// for an absent bundle is the misreport this branch exists to avoid.
|
|
470
|
+
logger.error(`\nBuild failed for skill: ${spec.skill.name}`);
|
|
471
|
+
logger.error(` ${outcome.error.message}`);
|
|
472
|
+
failures.push({ name: spec.skill.name, message: outcome.error.message });
|
|
473
|
+
continue;
|
|
474
|
+
}
|
|
475
|
+
const { result } = outcome;
|
|
476
|
+
logger.info(` Built ${result.files.dependencies.length + 1} files`);
|
|
477
|
+
logPostBuildIssues(result, logger, verbose);
|
|
478
|
+
if (result.hasErrors) {
|
|
479
|
+
skillsWithErrors.push(spec.skill.name);
|
|
480
|
+
}
|
|
481
|
+
results.push({ name: spec.skill.name, result });
|
|
482
|
+
}
|
|
483
|
+
// Drain point: every skill and every lane has now contributed, so this is the
|
|
484
|
+
// first place the run can honestly say an entry matched nothing. A skill that
|
|
485
|
+
// threw still contributed the matches it made before throwing — which is why
|
|
486
|
+
// the drain must stay here, after a partially-failed batch, and not move into
|
|
487
|
+
// a success-only path. (Before per-skill containment the drain never ran at
|
|
488
|
+
// all on a throw, because the exception propagated straight past it.)
|
|
489
|
+
//
|
|
490
|
+
// Known residual: a skill that threw never reached its later lanes, so an
|
|
491
|
+
// allow entry only THAT skill could have matched may now be reported
|
|
492
|
+
// ALLOW_UNUSED. That is a warning, and `runHasErrors` gates on `error` only,
|
|
493
|
+
// so it cannot fail a build on its own — and the run is already exiting 1 on
|
|
494
|
+
// the failure the operator actually needs to fix.
|
|
495
|
+
return { results, runIssues: allowUnusedIssues(allowLedger), skillsWithErrors, failures };
|
|
496
|
+
}
|
|
236
497
|
async function buildCommand(pathArg, options) {
|
|
237
498
|
const { logger, cwd, startTime } = setupCommandContext(pathArg, options.debug);
|
|
238
499
|
try {
|
|
@@ -266,47 +527,40 @@ async function buildCommand(pathArg, options) {
|
|
|
266
527
|
performDryRun(skillsToBuild, duration, logger);
|
|
267
528
|
process.exit(0);
|
|
268
529
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
const packagingConfig = mergeSkillPackagingConfig(skillsConfig.defaults, skillsConfig.config?.[skill.name]);
|
|
273
|
-
const outputDir = safePath.resolve(cwd, 'dist', 'skills', skillNameToFsPath(skill.name));
|
|
274
|
-
logger.info(`\nBuilding skill: ${skill.name}`);
|
|
275
|
-
logger.info(` Source: ${skill.sourcePath}`);
|
|
276
|
-
logger.info(` Output: ${outputDir}`);
|
|
277
|
-
await validateSkillOrExit(skill.name, skill.sourcePath, packagingConfig, logger);
|
|
278
|
-
validatedSpecs.push({ skill, packagingConfig });
|
|
279
|
-
}
|
|
280
|
-
// Build all skills with a shared registry
|
|
281
|
-
const specs = validatedSpecs.map(({ skill, packagingConfig }) => ({
|
|
282
|
-
skillPath: skill.sourcePath,
|
|
283
|
-
options: packagingConfigToPackageOptions(packagingConfig, {
|
|
284
|
-
skillPath: skill.sourcePath,
|
|
285
|
-
outputPath: safePath.resolve(cwd, 'dist', 'skills', skillNameToFsPath(skill.name)),
|
|
286
|
-
}),
|
|
530
|
+
const buildSpecs = skillsToBuild.map((skill) => ({
|
|
531
|
+
skill,
|
|
532
|
+
packagingConfig: mergeSkillPackagingConfig(skillsConfig.defaults, skillsConfig.config?.[skill.name]),
|
|
287
533
|
}));
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
const result = packageResults[i];
|
|
293
|
-
if (result) {
|
|
294
|
-
logger.info(` Built ${result.files.dependencies.length + 1} files`);
|
|
295
|
-
logPostBuildIssues(result, logger);
|
|
296
|
-
if (result.hasErrors) {
|
|
297
|
-
skillsWithErrors.push(spec.skill.name);
|
|
298
|
-
}
|
|
299
|
-
results.push({ name: spec.skill.name, result });
|
|
300
|
-
}
|
|
301
|
-
}
|
|
534
|
+
// Assembled ONCE, from the UNFILTERED discovery: `--skill x` narrows the build,
|
|
535
|
+
// not the set of files that count as some skill's declared test input.
|
|
536
|
+
const projectSkills = collectDeclaredEvalSuites(skillsConfig, discoveredSkills);
|
|
537
|
+
const { results, runIssues, skillsWithErrors, failures } = await runSkillBuild(buildSpecs, cwd, logger, projectSkills, options.verbose === true);
|
|
302
538
|
const duration = Date.now() - startTime;
|
|
303
539
|
// Output YAML results
|
|
304
|
-
outputBuildYaml(results, duration);
|
|
540
|
+
outputBuildYaml(results, failures, duration, runIssues, skillsWithErrors);
|
|
541
|
+
for (const line of formatRunIssueLines(runIssues)) {
|
|
542
|
+
logger.info(line);
|
|
543
|
+
}
|
|
544
|
+
if (failures.length > 0) {
|
|
545
|
+
logger.error(`\nBuild failed: ${failures.length} skill(s) could not be packaged at all`);
|
|
546
|
+
for (const { name, message } of failures) {
|
|
547
|
+
logger.error(` - ${name}: ${message.split('\n')[0] ?? message}`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
305
550
|
if (skillsWithErrors.length > 0) {
|
|
306
551
|
logger.error(`\nBuild failed: ${skillsWithErrors.length} skill(s) emitted post-build validation errors`);
|
|
307
552
|
for (const name of skillsWithErrors) {
|
|
308
553
|
logger.error(` - ${name}`);
|
|
309
554
|
}
|
|
555
|
+
}
|
|
556
|
+
// A run-level finding belongs to no skill, so the loop above cannot carry
|
|
557
|
+
// it. Only `error` severity gates: ALLOW_UNUSED ships as a `warning`, and a
|
|
558
|
+
// warning must never abort a build that produced its artifacts.
|
|
559
|
+
const runHasErrors = runIssues.some((i) => i.severity === 'error');
|
|
560
|
+
if (runHasErrors) {
|
|
561
|
+
logger.error(`\nBuild failed: run-level validation errors (project config, not any one skill)`);
|
|
562
|
+
}
|
|
563
|
+
if (skillsWithErrors.length > 0 || runHasErrors || failures.length > 0) {
|
|
310
564
|
process.exit(1);
|
|
311
565
|
}
|
|
312
566
|
logger.info(`\nBuilt ${results.length} skill(s) successfully`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/skills/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/skills/build.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,GAIvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,EACjB,yBAAyB,GAM1B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAShE,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;SACJ,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,wDAAwD,CAAC;SAC5E,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC7E,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,YAAY,CAAC;SACpB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EL,CACI,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CACvC,gBAA2C,EAC3C,OAAgB;IAEhB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA0B,EAC1B,OAAgB;IAEhB,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACrE,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,MAA0B,EAC1B,MAAuC,EACvC,OAAgB;IAEhB,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,gBAA2C,EAC3C,MAAuC;IAEvC,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,wBAAwB,gBAAgB,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/E,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;AACH,CAAC;AAuBD,KAAK,UAAU,mBAAmB,CAAC,KAAyB;IAC1D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpH,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;IAElD,uEAAuE;IACvE,oEAAoE;IACpE,8EAA8E;IAC9E,2EAA2E;IAC3E,EAAE;IACF,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,MAAM,yBAAyB,CACtD,UAAU,EACV,eAAe,EACf,QAAQ,EACR,EAAE,WAAW,EAAE,aAAa,EAAE,CAC/B,CAAC;IACF,mBAAmB,CACjB,gBAAgB,EAChB,eAAe,CAAC,OAAwC,EACxD,UAAU,EACV,YAAY,CACb,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACxC,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,6BAA6B,CAAC,CAAC;QACzF,CAAC;QACD,OAAO;IACT,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE/C,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5D,8EAA8E;IAC9E,wEAAwE;IACxE,sEAAsE;IACtE,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,MAAyB,EACzB,QAAgB;IAEhB,eAAe,CAAC;QACd,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI;QACZ,qEAAqE;QACrE,mEAAmE;QACnE,wEAAwE;QACxE,6DAA6D;QAC7D,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,aAAgC,EAChC,QAAgB,EAChB,MAAuC;IAEvC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,uBAAuB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,6BAA6B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,GAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA4D,EAC5D,QAAsC,EACtC,QAAgB,EAChB,SAAqC,EACrC,gBAAmC;IAkBnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO;YACL,IAAI;YACJ,8EAA8E;YAC9E,qDAAqD;YACrD,gFAAgF;YAChF,+EAA+E;YAC/E,EAAE;YACF,6EAA6E;YAC7E,gFAAgF;YAChF,0EAA0E;YAC1E,mFAAmF;YACnF,kFAAkF;YAClF,6EAA6E;YAC7E,iDAAiD;YACjD,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACnD,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC;YACpC,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAClD,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,4DAA4D;IAC5D,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI;QACJ,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,kBAAkB,EAAE;KAClC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;QAC3D,WAAW,EAAE,iBAAiB,CAAC;YAC7B,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACrC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACzC,cAAc;SACf,CAAC;QACF,cAAc;QACd,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACvC,6EAA6E;QAC7E,wEAAwE;QACxE,8EAA8E;QAC9E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI;YACJ,UAAU;YACV,aAAa;YACb,WAAW;SACZ,CAAC,CAAC;QACH,YAAY;QACZ,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;QACzB,QAAQ,EAAE,GAAG,QAAQ,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,OAA4D,EAC5D,QAAsC,EACtC,QAAgB,EAChB,SAAqC,EACrC,gBAAmC;IAEnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3F,MAAM,EACJ,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EACpF,QAAQ,EAAE,YAAY,GACvB,GAAG,OAAO,CAAC;IACZ,+EAA+E;IAC/E,6EAA6E;IAC7E,eAAe,CAAC;QACd,MAAM;QACN,WAAW;QACX,YAAY;QACZ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;KAClD,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CACZ;QACE,WAAW;QACX,cAAc;QACd,MAAM;QACN,YAAY;QACZ,oBAAoB,EAAE,OAAO,CAAC,gBAAgB;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAC1D,CACF,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CAAC,GAAW,EAAE,SAA6B;IAC9E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7F,qGAAqG;QACrG,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,wFAAwF;QACxF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC;AAgCD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAgC,EAChC,GAAW,EACX,MAAuC,EACvC,aAA2C,EAC3C,OAAO,GAAG,KAAK;IAEf,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAE7C,sCAAsC;IACtC,KAAK,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,KAAK,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QAEvC,MAAM,mBAAmB,CAAC;YACxB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,eAAe;YACf,MAAM;YACN,YAAY,EAAE,GAAG;YACjB,WAAW;YACX,aAAa;YACb,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,EAAE;IACF,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,8BAA8B;IAC9B,MAAM,UAAU,GAAqB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,OAAO,EAAE,+BAA+B,CACtC,eAAe,EACf;YACE,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACnF,EACD,aAAa,CACd;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAwD,EAAE,CAAC;IACxE,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,EAAE;IACF,0EAA0E;IAC1E,qEAAqE;IACrE,6EAA6E;IAC7E,6EAA6E;IAC7E,kDAAkD;IAClD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAA2B,EAC3B,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAE5C,oFAAoF;QACpF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAEnC,iFAAiF;QACjF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,MAAM,wBAAwB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAE3E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,sDAAsD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAqB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,KAAK;YACL,eAAe,EAAE,yBAAyB,CACxC,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAClC;SACF,CAAC,CAAC,CAAC;QAEJ,gFAAgF;QAChF,uEAAuE;QACvE,MAAM,aAAa,GAAG,yBAAyB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEhF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAC5E,UAAU,EACV,GAAG,EACH,MAAM,EACN,aAAa,EACb,OAAO,CAAC,OAAO,KAAK,IAAI,CACzB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,sBAAsB;QACtB,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,wCAAwC,CAAC,CAAC;YACzF,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,mBAAmB,gBAAgB,CAAC,MAAM,gDAAgD,CAAC,CAAC;YACzG,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACnE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;QAE/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Helper functions for skill commands
|
|
3
|
-
*/
|
|
4
|
-
import { type Logger } from '../../utils/logger.js';
|
|
5
|
-
/**
|
|
6
|
-
* Handle command errors consistently
|
|
2
|
+
* Helper functions for skill commands.
|
|
7
3
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
4
|
+
* Error handling deliberately does NOT live here: every command family shares
|
|
5
|
+
* the one implementation in `utils/command-error.ts`. This module used to carry
|
|
6
|
+
* a second `handleCommandError` with the same name and signature that wrote
|
|
7
|
+
* nothing to stdout before exiting 2.
|
|
12
8
|
*/
|
|
13
|
-
|
|
9
|
+
import { type Logger } from '../../utils/logger.js';
|
|
14
10
|
/**
|
|
15
11
|
* Discovered skill with its source path and frontmatter name
|
|
16
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/command-helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/command-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAC1D,MAAM,EAAE,CAAC,EAAE,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,CAAC,EAAE,CAeL;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAKvF;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,CAAC,EAAE,OAAO,GACd,cAAc,CAMhB"}
|