@vibe-agent-toolkit/cli 0.1.41-rc.7 → 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/dist/bin/vat +24 -1
- package/dist/bin/vat.js +24 -1
- 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.d.ts +34 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +220 -88
- 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 +89 -24
- package/dist/commands/build.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 +154 -40
- package/dist/commands/claude/marketplace/validate.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 +25 -2
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +99 -10
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +15 -0
- package/dist/commands/claude/plugin/plugin-json-merge.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 +40 -22
- package/dist/commands/corpus/runner.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 +183 -14
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +294 -29
- 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 +27 -9
- 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 +105 -66
- 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 +7 -3
- 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 +96 -7
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +277 -60
- 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 +15 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +30 -20
- package/dist/commands/skills/package.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 +44 -3
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +180 -46
- 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 +73 -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 +203 -83
- 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/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-rendering.d.ts +88 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -1
- package/dist/utils/issue-rendering.js +94 -0
- package/dist/utils/issue-rendering.js.map +1 -1
- package/dist/utils/output.d.ts +54 -5
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +111 -17
- package/dist/utils/output.js.map +1 -1
- 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/verdict-helpers.d.ts +4 -3
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +6 -13
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +30 -14
- package/docs/skills.md +9 -5
- package/package.json +12 -12
|
@@ -10,14 +10,16 @@
|
|
|
10
10
|
* - CHANGELOG.md should exist (warning)
|
|
11
11
|
*/
|
|
12
12
|
import { existsSync, readdirSync } from 'node:fs';
|
|
13
|
-
import { calculateValidationStatus, countBySeverity } from '@vibe-agent-toolkit/agent-schema';
|
|
13
|
+
import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
|
|
14
14
|
import { validateMarketplace, validateSkill, } from '@vibe-agent-toolkit/agent-skills';
|
|
15
15
|
import { validatePlugin } from '@vibe-agent-toolkit/claude-marketplace';
|
|
16
16
|
import { issueLocation, safePath } from '@vibe-agent-toolkit/utils';
|
|
17
17
|
import { Command } from 'commander';
|
|
18
18
|
import { formatDuration, handleCommandError } from '../../../utils/command-error.js';
|
|
19
|
+
import { summarizeFindings } from '../../../utils/issue-rendering.js';
|
|
19
20
|
import { createLogger } from '../../../utils/logger.js';
|
|
20
21
|
import { writeYamlOutput } from '../../../utils/output.js';
|
|
22
|
+
import { relativizePathEntries } from '../../../utils/relativize-paths.js';
|
|
21
23
|
/**
|
|
22
24
|
* Check for required/recommended files in the marketplace root.
|
|
23
25
|
*/
|
|
@@ -76,7 +78,12 @@ async function validatePlugins(marketplacePath) {
|
|
|
76
78
|
if (!entry.isDirectory())
|
|
77
79
|
continue;
|
|
78
80
|
const pluginDir = safePath.join(pluginsDir, entry.name);
|
|
79
|
-
|
|
81
|
+
// `locationRoot` is not optional here even though the parameter is: omitted,
|
|
82
|
+
// `validatePlugin` anchors at the plugin's own discovered project root, so
|
|
83
|
+
// its findings land in a different coordinate system than the marketplace
|
|
84
|
+
// and skill findings beside them — and every plugin's manifest collapses to
|
|
85
|
+
// the same `.claude-plugin/plugin.json`.
|
|
86
|
+
const pluginResult = await validatePlugin(pluginDir, { strict: true, locationRoot: marketplacePath });
|
|
80
87
|
pluginResults.push(pluginResult);
|
|
81
88
|
issues.push(...pluginResult.issues);
|
|
82
89
|
const skillIssues = await validatePluginSkills(pluginDir, marketplacePath);
|
|
@@ -84,53 +91,148 @@ async function validatePlugins(marketplacePath) {
|
|
|
84
91
|
}
|
|
85
92
|
return { pluginResults, issues };
|
|
86
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Run every validator this command reports on, each anchored at
|
|
96
|
+
* `marketplacePath`.
|
|
97
|
+
*
|
|
98
|
+
* Anchoring is what makes this one function rather than four call sites in the
|
|
99
|
+
* command body. Unlike `path`, an issue `location` cannot be re-based at the
|
|
100
|
+
* document boundary — `relative()` is not idempotent, so an already-relative
|
|
101
|
+
* value is indistinguishable from an absolute one and re-basing it yields
|
|
102
|
+
* nonsense. "Relative to what?" therefore has to be answered identically by
|
|
103
|
+
* every producer at the moment it emits, and answering it in four places is how
|
|
104
|
+
* three producers agreed and the fourth silently anchored at the enclosing
|
|
105
|
+
* PROJECT root instead — putting two coordinate systems in one document, where
|
|
106
|
+
* `join(root, location)` resolved for some findings and named nothing for
|
|
107
|
+
* others.
|
|
108
|
+
*
|
|
109
|
+
* Exported so that contract is testable against a real marketplace without a
|
|
110
|
+
* CLI spawn; the command adds only the exit code and the emission.
|
|
111
|
+
*/
|
|
112
|
+
export async function collectMarketplaceFindings(marketplacePath) {
|
|
113
|
+
const marketplaceResult = await validateMarketplace(marketplacePath, {
|
|
114
|
+
locationRoot: marketplacePath,
|
|
115
|
+
});
|
|
116
|
+
// A missing or malformed manifest makes every downstream check meaningless.
|
|
117
|
+
if (marketplaceResult.status === 'error') {
|
|
118
|
+
return { marketplaceResult, pluginResults: [], issues: [...marketplaceResult.issues] };
|
|
119
|
+
}
|
|
120
|
+
const fileIssues = checkMarketplaceFiles(marketplacePath);
|
|
121
|
+
const { pluginResults, issues: pluginIssues } = await validatePlugins(marketplacePath);
|
|
122
|
+
return {
|
|
123
|
+
marketplaceResult,
|
|
124
|
+
pluginResults,
|
|
125
|
+
issues: [...marketplaceResult.issues, ...fileIssues, ...pluginIssues],
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Group key for findings that carry no `location` at all.
|
|
130
|
+
*
|
|
131
|
+
* A symbol rather than a sentinel string, and it is deliberately NOT published
|
|
132
|
+
* as one: every `location` in this document must satisfy the anchor contract —
|
|
133
|
+
* `join(root, location)` names a real file — so a row keyed `(no location)`
|
|
134
|
+
* would be a path that resolves to nothing, which is the coordinate lie `root`
|
|
135
|
+
* exists to prevent. The row is published with `unlocated: true` and no
|
|
136
|
+
* `location` instead. Dropping such findings was the other option and is the
|
|
137
|
+
* worse one: grouping by `location` is exactly the operation that silently
|
|
138
|
+
* loses them, and a shorter summary is the reassuring failure.
|
|
139
|
+
*/
|
|
140
|
+
const UNLOCATED = Symbol('unlocated');
|
|
141
|
+
/**
|
|
142
|
+
* Collapse a flat finding list onto one counts-only row per `location`.
|
|
143
|
+
*
|
|
144
|
+
* `location` is this command's per-asset unit: `plugins/alpha/.claude-plugin/
|
|
145
|
+
* plugin.json`, `plugins/beta/skills/x/SKILL.md`. Rows come out in first-seen
|
|
146
|
+
* order, and a location with no findings has no row — there is nothing to
|
|
147
|
+
* filter here, because a location only exists in this listing by having emitted
|
|
148
|
+
* something.
|
|
149
|
+
*
|
|
150
|
+
* Every value is passed through un-rebased: `location` is already relative to
|
|
151
|
+
* the report's stated `root`, and `relative()` is not idempotent (see
|
|
152
|
+
* {@link MarketplaceValidateReportInput.root}).
|
|
153
|
+
*/
|
|
154
|
+
export function summarizeIssuesByLocation(issues) {
|
|
155
|
+
const byLocation = new Map();
|
|
156
|
+
for (const issue of issues) {
|
|
157
|
+
const key = issue.location ?? UNLOCATED;
|
|
158
|
+
const existing = byLocation.get(key);
|
|
159
|
+
if (existing) {
|
|
160
|
+
existing.push(issue);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
byLocation.set(key, [issue]);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return [...byLocation.entries()].map(([key, locationIssues]) => {
|
|
167
|
+
const { codes, ...counts } = summarizeFindings(locationIssues);
|
|
168
|
+
const anchor = typeof key === 'string' ? { location: key } : { unlocated: true };
|
|
169
|
+
return { ...anchor, ...counts, codes };
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Build the report `vat claude marketplace validate` publishes on stdout.
|
|
174
|
+
*
|
|
175
|
+
* Pure — returns the document rather than writing it — so the emitted shape,
|
|
176
|
+
* `path` included, is under unit test instead of only under a CLI spawn. One
|
|
177
|
+
* builder serves both exits (manifest-missing bail and full run) so the
|
|
178
|
+
* document has a single shape either way.
|
|
179
|
+
*
|
|
180
|
+
* Being pure is also the limit of what it can guarantee: it re-bases `path`,
|
|
181
|
+
* and passes `issues` through verbatim. The single-coordinate-system property
|
|
182
|
+
* is therefore only as true as its inputs — see `root` above — and is enforced
|
|
183
|
+
* against a real marketplace in `payload-path-coordinates.test.ts`, not here.
|
|
184
|
+
*/
|
|
185
|
+
export function buildMarketplaceValidateReport(input) {
|
|
186
|
+
const { status, root, marketplace, pluginResults, issues, issueCounts, summary, duration, verbose } = input;
|
|
187
|
+
const plugins = pluginResults.map(r => ({
|
|
188
|
+
path: r.path,
|
|
189
|
+
status: r.status,
|
|
190
|
+
metadata: r.metadata,
|
|
191
|
+
issues: r.issues,
|
|
192
|
+
}));
|
|
193
|
+
return {
|
|
194
|
+
status,
|
|
195
|
+
// Stated once, and the only absolute path in the document.
|
|
196
|
+
root,
|
|
197
|
+
...(marketplace ? { marketplace } : {}),
|
|
198
|
+
plugins: relativizePathEntries(plugins, root),
|
|
199
|
+
// One row per inspected asset by default; the flat per-issue list under
|
|
200
|
+
// `--verbose`. Either way every `location` stays relative to `root` above.
|
|
201
|
+
issues: verbose === true ? issues : summarizeIssuesByLocation(issues),
|
|
202
|
+
// Counts ride beside the status: `status` names only the worst ACTIONABLE
|
|
203
|
+
// severity, so an info-only run is `success` and the info would otherwise
|
|
204
|
+
// be unreported.
|
|
205
|
+
issueCounts,
|
|
206
|
+
summary,
|
|
207
|
+
duration,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
87
210
|
async function marketplaceValidateCommand(targetPath, options) {
|
|
88
211
|
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
89
212
|
const startTime = Date.now();
|
|
90
213
|
try {
|
|
91
214
|
const marketplacePath = safePath.resolve(targetPath ?? '.');
|
|
92
215
|
logger.info(`Validating marketplace: ${marketplacePath}`);
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
writeYamlOutput({
|
|
99
|
-
status: 'error',
|
|
100
|
-
path: marketplacePath,
|
|
101
|
-
summary: marketplaceResult.summary,
|
|
102
|
-
issues: marketplaceResult.issues,
|
|
103
|
-
duration,
|
|
104
|
-
});
|
|
105
|
-
process.exit(1);
|
|
106
|
-
}
|
|
107
|
-
// 2. Check required/recommended files
|
|
108
|
-
const fileIssues = checkMarketplaceFiles(marketplacePath);
|
|
109
|
-
// 3. Validate plugins and their skills
|
|
110
|
-
const { pluginResults, issues: pluginIssues } = await validatePlugins(marketplacePath);
|
|
111
|
-
// Combine all issues
|
|
112
|
-
const allIssues = [...marketplaceResult.issues, ...fileIssues, ...pluginIssues];
|
|
113
|
-
const status = calculateValidationStatus(allIssues);
|
|
114
|
-
const issueCounts = countBySeverity(allIssues);
|
|
115
|
-
const duration = formatDuration(Date.now() - startTime);
|
|
116
|
-
writeYamlOutput({
|
|
216
|
+
const { marketplaceResult, pluginResults, issues } = await collectMarketplaceFindings(marketplacePath);
|
|
217
|
+
const bailed = marketplaceResult.status === 'error';
|
|
218
|
+
const status = calculateValidationStatus(issues);
|
|
219
|
+
const issueCounts = countBySeverity(issues);
|
|
220
|
+
writeYamlOutput(buildMarketplaceValidateReport({
|
|
117
221
|
status,
|
|
118
|
-
|
|
222
|
+
root: marketplacePath,
|
|
119
223
|
marketplace: marketplaceResult.metadata,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
status: r.status,
|
|
123
|
-
metadata: r.metadata,
|
|
124
|
-
issues: r.issues,
|
|
125
|
-
})),
|
|
126
|
-
issues: allIssues,
|
|
127
|
-
// Counts ride beside the status: `status` names only the worst ACTIONABLE
|
|
128
|
-
// severity, so an info-only run is `success` and the info would otherwise
|
|
129
|
-
// be unreported.
|
|
224
|
+
pluginResults,
|
|
225
|
+
issues,
|
|
130
226
|
issueCounts,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
227
|
+
// A bailed run reports WHY it stopped; a completed run reports what it
|
|
228
|
+
// found. Both emit through the one builder, so the document has a
|
|
229
|
+
// single shape either way.
|
|
230
|
+
summary: bailed
|
|
231
|
+
? marketplaceResult.summary
|
|
232
|
+
: `${issueCounts.errors} error(s), ${issueCounts.warnings} warning(s), ${issueCounts.info} info`,
|
|
233
|
+
duration: formatDuration(Date.now() - startTime),
|
|
234
|
+
verbose: options.verbose === true,
|
|
235
|
+
}));
|
|
134
236
|
process.exit(status === 'error' ? 1 : 0);
|
|
135
237
|
}
|
|
136
238
|
catch (error) {
|
|
@@ -143,6 +245,7 @@ export function createMarketplaceValidateCommand() {
|
|
|
143
245
|
.description('Validate a marketplace directory for publishing')
|
|
144
246
|
.argument('[path]', 'Path to marketplace directory (default: current directory)')
|
|
145
247
|
.option('-d, --debug', 'Enable debug logging')
|
|
248
|
+
.option('-v, --verbose', 'Show all scanned resources, including those without issues')
|
|
146
249
|
.action(marketplaceValidateCommand)
|
|
147
250
|
.addHelpText('after', `
|
|
148
251
|
Description:
|
|
@@ -151,6 +254,17 @@ Description:
|
|
|
151
254
|
|
|
152
255
|
Plugin versions are required (error, not warning) in strict marketplace validation.
|
|
153
256
|
|
|
257
|
+
Output (YAML on stdout):
|
|
258
|
+
root: the marketplace directory — every location below is relative to it
|
|
259
|
+
status, issueCounts, summary, duration, marketplace, plugins
|
|
260
|
+
|
|
261
|
+
issues: one row per inspected location, carrying only that location's counts
|
|
262
|
+
({location, errors?, warnings?, info?, codes}). A zero bucket is
|
|
263
|
+
omitted, and a location with no findings has no row.
|
|
264
|
+
|
|
265
|
+
--verbose replaces those rows with the flat per-issue list (message, fix and
|
|
266
|
+
all). That form is for '> file' then grep, not for reading.
|
|
267
|
+
|
|
154
268
|
Exit Codes:
|
|
155
269
|
0 - All validations passed (warnings allowed)
|
|
156
270
|
1 - Validation errors found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/validate.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Structured stub response for not-yet-implemented org commands.
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* The payload deliberately makes no scheduling claim. It used to emit
|
|
5
|
+
* `plannedFor: "0.1.22"` plus "coming in the next release" — a promise nothing
|
|
6
|
+
* in the build re-checks, so every release that shipped without the feature
|
|
7
|
+
* turned it into a lie (by 0.1.41 the "planned" version was 19 releases in the
|
|
8
|
+
* past). A stub can only state what is true at ANY version: the command is not
|
|
9
|
+
* implemented, and here is what to use instead. If a date or milestone is ever
|
|
10
|
+
* wanted, it belongs on a tracking issue that can be closed — not in a string
|
|
11
|
+
* baked into the binary. Covered by `test/claude-org-stubs.test.ts`.
|
|
4
12
|
*/
|
|
5
13
|
export declare function writeNotYetImplementedStub(command: string): void;
|
|
6
14
|
//# sourceMappingURL=stubs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/org/stubs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/org/stubs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQhE"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Structured stub response for not-yet-implemented org commands.
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* The payload deliberately makes no scheduling claim. It used to emit
|
|
5
|
+
* `plannedFor: "0.1.22"` plus "coming in the next release" — a promise nothing
|
|
6
|
+
* in the build re-checks, so every release that shipped without the feature
|
|
7
|
+
* turned it into a lie (by 0.1.41 the "planned" version was 19 releases in the
|
|
8
|
+
* past). A stub can only state what is true at ANY version: the command is not
|
|
9
|
+
* implemented, and here is what to use instead. If a date or milestone is ever
|
|
10
|
+
* wanted, it belongs on a tracking issue that can be closed — not in a string
|
|
11
|
+
* baked into the binary. Covered by `test/claude-org-stubs.test.ts`.
|
|
4
12
|
*/
|
|
5
13
|
export function writeNotYetImplementedStub(command) {
|
|
6
14
|
process.stdout.write('---\n');
|
|
7
15
|
process.stdout.write('status: not-yet-implemented\n');
|
|
8
16
|
process.stdout.write(`command: "${command}"\n`);
|
|
9
|
-
process.stdout.write('
|
|
10
|
-
|
|
17
|
+
process.stdout.write('guidance: "This command is not implemented. Read operations (list/get) are implemented; ' +
|
|
18
|
+
'mutating operations are not. Use the Anthropic Console or call the Admin API directly."\n');
|
|
11
19
|
}
|
|
12
20
|
//# sourceMappingURL=stubs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stubs.js","sourceRoot":"","sources":["../../../../src/commands/claude/org/stubs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stubs.js","sourceRoot":"","sources":["../../../../src/commands/claude/org/stubs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0FAA0F;QACxF,2FAA2F,CAC9F,CAAC;AACJ,CAAC"}
|
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
* imports pool skills (from dist/skills/) via the `skills:` selector.
|
|
8
8
|
*/
|
|
9
9
|
import { type SeverityCounts } from '@vibe-agent-toolkit/agent-schema';
|
|
10
|
-
import { type PackageSkillResult } from '@vibe-agent-toolkit/agent-skills';
|
|
10
|
+
import { type DeclaredEvalSuite, type PackageSkillResult } from '@vibe-agent-toolkit/agent-skills';
|
|
11
11
|
import type { ResourceRegistry, SkillsConfig } from '@vibe-agent-toolkit/resources';
|
|
12
12
|
import { Command } from 'commander';
|
|
13
13
|
import { createLogger } from '../../../utils/logger.js';
|
|
14
14
|
export interface PluginBuildCommandOptions {
|
|
15
15
|
marketplace?: string;
|
|
16
16
|
debug?: boolean;
|
|
17
|
+
verbose?: boolean;
|
|
17
18
|
}
|
|
18
19
|
interface PluginBuildResult {
|
|
19
20
|
pluginName: string;
|
|
@@ -64,10 +65,16 @@ export declare function createPluginBuildCommand(): Command;
|
|
|
64
65
|
* vibe-agent-toolkit.config.yaml), so callers that already know the root build
|
|
65
66
|
* against it rather than re-discovering from cwd. `options.marketplace` restricts
|
|
66
67
|
* the build to a single marketplace by name.
|
|
68
|
+
*
|
|
69
|
+
* `options.verbose` affects the stderr findings report ONLY (see
|
|
70
|
+
* `summarizePackagedSkillIssues`); it changes nothing this function returns, so a
|
|
71
|
+
* programmatic caller — `vat skill test`, which builds a marketplace purely to
|
|
72
|
+
* stage a skill — can leave it off and still get the same result objects.
|
|
67
73
|
*/
|
|
68
74
|
export declare function runClaudePluginBuild(configDir: string, options?: {
|
|
69
75
|
marketplace?: string;
|
|
70
76
|
logger?: ReturnType<typeof createLogger>;
|
|
77
|
+
verbose?: boolean;
|
|
71
78
|
}): Promise<MarketplaceBuildResult[]>;
|
|
72
79
|
/** One plugin-local skill, discovered once and carried through every later phase. */
|
|
73
80
|
interface PluginLocalSkill {
|
|
@@ -117,6 +124,15 @@ export declare function packagePluginLocalSkills(input: {
|
|
|
117
124
|
* than failing. That is exactly what this lane used to do.
|
|
118
125
|
*/
|
|
119
126
|
registry: ResourceRegistry;
|
|
127
|
+
/**
|
|
128
|
+
* THE project's declared eval suites, assembled once by {@link runClaudePluginBuild}.
|
|
129
|
+
*
|
|
130
|
+
* Not optional, and not defaulted, for the same reason as `registry` above: an
|
|
131
|
+
* omission would not fail, it would silently package one skill's bundle carrying
|
|
132
|
+
* ANOTHER skill's eval answer key — the failure mode a default value hid the first
|
|
133
|
+
* time this rule shipped.
|
|
134
|
+
*/
|
|
135
|
+
projectSkills: readonly DeclaredEvalSuite[];
|
|
120
136
|
logger: ReturnType<typeof createLogger>;
|
|
121
137
|
}): Promise<Array<{
|
|
122
138
|
skillDirPath: string;
|
|
@@ -133,12 +149,19 @@ export declare function packagePluginLocalSkills(input: {
|
|
|
133
149
|
* read only `postBuildIssues`, so a skill failing purely on the built-output
|
|
134
150
|
* validation aborted the plugin build with no issue text at all.
|
|
135
151
|
*
|
|
152
|
+
* `verbose` governs the RENDERED lines and nothing else: `withErrors` (what the
|
|
153
|
+
* caller fails the plugin on) and `issueCounts` (what stdout publishes) are
|
|
154
|
+
* computed from the whole set at every verbosity, so quieting the report cannot
|
|
155
|
+
* quiet the gate. Per the shared policy in `issuesToRenderAtVerbosity`, errors
|
|
156
|
+
* always get a full block; warnings and info collapse into the per-skill heading
|
|
157
|
+
* above them, which still names the complete severity breakdown.
|
|
158
|
+
*
|
|
136
159
|
* Pure so the whole rendered set is assertable.
|
|
137
160
|
*/
|
|
138
161
|
export declare function summarizePackagedSkillIssues(packaged: Array<{
|
|
139
162
|
skillDirPath: string;
|
|
140
163
|
result: PackageSkillResult;
|
|
141
|
-
}
|
|
164
|
+
}>, verbose: boolean): {
|
|
142
165
|
lines: string[];
|
|
143
166
|
withErrors: string[];
|
|
144
167
|
issueCounts: SeverityCounts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/build.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAA4L,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/build.ts"],"names":[],"mappings":"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"}
|