@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.
Files changed (149) hide show
  1. package/dist/bin/vat +24 -1
  2. package/dist/bin/vat.js +24 -1
  3. package/dist/bin/vat.js.map +1 -1
  4. package/dist/bin.js +12 -1
  5. package/dist/bin.js.map +1 -1
  6. package/dist/commands/agent/list.d.ts +11 -0
  7. package/dist/commands/agent/list.d.ts.map +1 -1
  8. package/dist/commands/agent/list.js +30 -11
  9. package/dist/commands/agent/list.js.map +1 -1
  10. package/dist/commands/audit.d.ts +34 -1
  11. package/dist/commands/audit.d.ts.map +1 -1
  12. package/dist/commands/audit.js +220 -88
  13. package/dist/commands/audit.js.map +1 -1
  14. package/dist/commands/build.d.ts +14 -0
  15. package/dist/commands/build.d.ts.map +1 -1
  16. package/dist/commands/build.js +89 -24
  17. package/dist/commands/build.js.map +1 -1
  18. package/dist/commands/claude/marketplace/validate.d.ts +97 -0
  19. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  20. package/dist/commands/claude/marketplace/validate.js +154 -40
  21. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  22. package/dist/commands/claude/org/stubs.d.ts +9 -1
  23. package/dist/commands/claude/org/stubs.d.ts.map +1 -1
  24. package/dist/commands/claude/org/stubs.js +11 -3
  25. package/dist/commands/claude/org/stubs.js.map +1 -1
  26. package/dist/commands/claude/plugin/build.d.ts +25 -2
  27. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  28. package/dist/commands/claude/plugin/build.js +99 -10
  29. package/dist/commands/claude/plugin/build.js.map +1 -1
  30. package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
  31. package/dist/commands/claude/plugin/plugin-json-merge.js +15 -0
  32. package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
  33. package/dist/commands/corpus/report.d.ts +22 -4
  34. package/dist/commands/corpus/report.d.ts.map +1 -1
  35. package/dist/commands/corpus/report.js +1 -0
  36. package/dist/commands/corpus/report.js.map +1 -1
  37. package/dist/commands/corpus/runner.d.ts +16 -1
  38. package/dist/commands/corpus/runner.d.ts.map +1 -1
  39. package/dist/commands/corpus/runner.js +40 -22
  40. package/dist/commands/corpus/runner.js.map +1 -1
  41. package/dist/commands/inventory.d.ts +2 -0
  42. package/dist/commands/inventory.d.ts.map +1 -1
  43. package/dist/commands/inventory.js +45 -4
  44. package/dist/commands/inventory.js.map +1 -1
  45. package/dist/commands/phase-utils.d.ts +183 -14
  46. package/dist/commands/phase-utils.d.ts.map +1 -1
  47. package/dist/commands/phase-utils.js +294 -29
  48. package/dist/commands/phase-utils.js.map +1 -1
  49. package/dist/commands/rag/query-command.d.ts +40 -0
  50. package/dist/commands/rag/query-command.d.ts.map +1 -1
  51. package/dist/commands/rag/query-command.js +47 -20
  52. package/dist/commands/rag/query-command.js.map +1 -1
  53. package/dist/commands/resources/index.d.ts.map +1 -1
  54. package/dist/commands/resources/index.js +27 -9
  55. package/dist/commands/resources/index.js.map +1 -1
  56. package/dist/commands/resources/scan.d.ts +37 -0
  57. package/dist/commands/resources/scan.d.ts.map +1 -1
  58. package/dist/commands/resources/scan.js +47 -32
  59. package/dist/commands/resources/scan.js.map +1 -1
  60. package/dist/commands/resources/validate.d.ts +136 -1
  61. package/dist/commands/resources/validate.d.ts.map +1 -1
  62. package/dist/commands/resources/validate.js +105 -66
  63. package/dist/commands/resources/validate.js.map +1 -1
  64. package/dist/commands/skill/review.d.ts.map +1 -1
  65. package/dist/commands/skill/review.js +7 -3
  66. package/dist/commands/skill/review.js.map +1 -1
  67. package/dist/commands/skill/test/run.d.ts +1 -1
  68. package/dist/commands/skill/test/run.d.ts.map +1 -1
  69. package/dist/commands/skill/test/run.js +8 -6
  70. package/dist/commands/skill/test/run.js.map +1 -1
  71. package/dist/commands/skills/build.d.ts +96 -7
  72. package/dist/commands/skills/build.d.ts.map +1 -1
  73. package/dist/commands/skills/build.js +277 -60
  74. package/dist/commands/skills/build.js.map +1 -1
  75. package/dist/commands/skills/command-helpers.d.ts +6 -10
  76. package/dist/commands/skills/command-helpers.d.ts.map +1 -1
  77. package/dist/commands/skills/command-helpers.js +6 -22
  78. package/dist/commands/skills/command-helpers.js.map +1 -1
  79. package/dist/commands/skills/list.d.ts +18 -0
  80. package/dist/commands/skills/list.d.ts.map +1 -1
  81. package/dist/commands/skills/list.js +41 -15
  82. package/dist/commands/skills/list.js.map +1 -1
  83. package/dist/commands/skills/package.d.ts +15 -0
  84. package/dist/commands/skills/package.d.ts.map +1 -1
  85. package/dist/commands/skills/package.js +30 -20
  86. package/dist/commands/skills/package.js.map +1 -1
  87. package/dist/commands/skills/validate-command.d.ts.map +1 -1
  88. package/dist/commands/skills/validate-command.js +22 -6
  89. package/dist/commands/skills/validate-command.js.map +1 -1
  90. package/dist/commands/skills/validate.d.ts +44 -3
  91. package/dist/commands/skills/validate.d.ts.map +1 -1
  92. package/dist/commands/skills/validate.js +180 -46
  93. package/dist/commands/skills/validate.js.map +1 -1
  94. package/dist/commands/validate.d.ts +18 -0
  95. package/dist/commands/validate.d.ts.map +1 -1
  96. package/dist/commands/validate.js +73 -66
  97. package/dist/commands/validate.js.map +1 -1
  98. package/dist/commands/verify.d.ts +38 -1
  99. package/dist/commands/verify.d.ts.map +1 -1
  100. package/dist/commands/verify.js +203 -83
  101. package/dist/commands/verify.js.map +1 -1
  102. package/dist/index.d.ts +1 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +7 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/skill-resolution/index.d.ts +1 -1
  107. package/dist/skill-resolution/index.d.ts.map +1 -1
  108. package/dist/skill-resolution/index.js +1 -1
  109. package/dist/skill-resolution/index.js.map +1 -1
  110. package/dist/skill-resolution/packaging-config.d.ts +15 -2
  111. package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
  112. package/dist/skill-resolution/packaging-config.js +39 -2
  113. package/dist/skill-resolution/packaging-config.js.map +1 -1
  114. package/dist/utils/command-error.d.ts +34 -1
  115. package/dist/utils/command-error.d.ts.map +1 -1
  116. package/dist/utils/command-error.js +32 -1
  117. package/dist/utils/command-error.js.map +1 -1
  118. package/dist/utils/help-loader.d.ts +6 -2
  119. package/dist/utils/help-loader.d.ts.map +1 -1
  120. package/dist/utils/help-loader.js +9 -16
  121. package/dist/utils/help-loader.js.map +1 -1
  122. package/dist/utils/issue-rendering.d.ts +88 -0
  123. package/dist/utils/issue-rendering.d.ts.map +1 -1
  124. package/dist/utils/issue-rendering.js +94 -0
  125. package/dist/utils/issue-rendering.js.map +1 -1
  126. package/dist/utils/output.d.ts +54 -5
  127. package/dist/utils/output.d.ts.map +1 -1
  128. package/dist/utils/output.js +111 -17
  129. package/dist/utils/output.js.map +1 -1
  130. package/dist/utils/relativize-paths.d.ts +45 -0
  131. package/dist/utils/relativize-paths.d.ts.map +1 -0
  132. package/dist/utils/relativize-paths.js +67 -0
  133. package/dist/utils/relativize-paths.js.map +1 -0
  134. package/dist/utils/resource-loader.d.ts +21 -2
  135. package/dist/utils/resource-loader.d.ts.map +1 -1
  136. package/dist/utils/resource-loader.js +85 -11
  137. package/dist/utils/resource-loader.js.map +1 -1
  138. package/dist/utils/skill-packaging-config.d.ts +22 -1
  139. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  140. package/dist/utils/skill-packaging-config.js +26 -0
  141. package/dist/utils/skill-packaging-config.js.map +1 -1
  142. package/dist/utils/verdict-helpers.d.ts +4 -3
  143. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  144. package/dist/utils/verdict-helpers.js +6 -13
  145. package/dist/utils/verdict-helpers.js.map +1 -1
  146. package/docs/rag.md +9 -4
  147. package/docs/resources.md +30 -14
  148. package/docs/skills.md +9 -5
  149. 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
- const pluginResult = await validatePlugin(pluginDir, { strict: true });
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
- // 1. Validate marketplace.json
94
- const marketplaceResult = await validateMarketplace(marketplacePath);
95
- // If marketplace manifest is missing or invalid, bail early
96
- if (marketplaceResult.status === 'error') {
97
- const duration = formatDuration(Date.now() - startTime);
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
- path: marketplacePath,
222
+ root: marketplacePath,
119
223
  marketplace: marketplaceResult.metadata,
120
- plugins: pluginResults.map(r => ({
121
- path: r.path,
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
- summary: `${issueCounts.errors} error(s), ${issueCounts.warnings} warning(s), ${issueCounts.info} info`,
132
- duration,
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":"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"}
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
- * Mutating operations are planned for a future release.
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;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQhE"}
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
- * Mutating operations are planned for a future release.
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('plannedFor: "0.1.22"\n');
10
- process.stdout.write('guidance: "Read operations are fully implemented. Mutating operations are coming in the next release."\n');
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;;;GAGG;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,CAAC,wBAAwB,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0GAA0G,CAC3G,CAAC;AACJ,CAAC"}
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;AACrQ,OAAO,KAAK,EAAyD,gBAAgB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE3I,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBxD,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,qBAAqB,EAAE,cAAc,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAgDlD;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;CAAO,GAC/E,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAkFnC;AAqVD,qFAAqF;AACrF,UAAU,gBAAgB;IACxB,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAgDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC,CA2BvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,GACpE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,cAAc,CAAA;CAAE,CAkBxE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/build.ts"],"names":[],"mappings":"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"}