@vibe-agent-toolkit/cli 0.1.39-rc.9 → 0.1.40-rc.1

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 (77) hide show
  1. package/dist/commands/audit/provenance.d.ts +1 -1
  2. package/dist/commands/audit/provenance.d.ts.map +1 -1
  3. package/dist/commands/audit/provenance.js +4 -1
  4. package/dist/commands/audit/provenance.js.map +1 -1
  5. package/dist/commands/audit.d.ts.map +1 -1
  6. package/dist/commands/audit.js +21 -107
  7. package/dist/commands/audit.js.map +1 -1
  8. package/dist/commands/build.d.ts +2 -0
  9. package/dist/commands/build.d.ts.map +1 -1
  10. package/dist/commands/build.js +92 -0
  11. package/dist/commands/build.js.map +1 -1
  12. package/dist/commands/claude/plugin/build.d.ts +39 -0
  13. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  14. package/dist/commands/claude/plugin/build.js +174 -64
  15. package/dist/commands/claude/plugin/build.js.map +1 -1
  16. package/dist/commands/claude/plugin/tree-copy.d.ts +6 -0
  17. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  18. package/dist/commands/claude/plugin/tree-copy.js +6 -2
  19. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  20. package/dist/commands/consistency-check.d.ts +8 -3
  21. package/dist/commands/consistency-check.d.ts.map +1 -1
  22. package/dist/commands/consistency-check.js +29 -6
  23. package/dist/commands/consistency-check.js.map +1 -1
  24. package/dist/commands/corpus/seed.d.ts +12 -12
  25. package/dist/commands/resources/index.d.ts.map +1 -1
  26. package/dist/commands/resources/index.js +9 -0
  27. package/dist/commands/resources/index.js.map +1 -1
  28. package/dist/commands/resources/validate.d.ts +1 -0
  29. package/dist/commands/resources/validate.d.ts.map +1 -1
  30. package/dist/commands/resources/validate.js +1 -0
  31. package/dist/commands/resources/validate.js.map +1 -1
  32. package/dist/commands/skill/review.d.ts.map +1 -1
  33. package/dist/commands/skill/review.js +6 -39
  34. package/dist/commands/skill/review.js.map +1 -1
  35. package/dist/commands/skill/test/auth-flags.d.ts +17 -0
  36. package/dist/commands/skill/test/auth-flags.d.ts.map +1 -0
  37. package/dist/commands/skill/test/auth-flags.js +23 -0
  38. package/dist/commands/skill/test/auth-flags.js.map +1 -0
  39. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  40. package/dist/commands/skill/test/configure.js +2 -4
  41. package/dist/commands/skill/test/configure.js.map +1 -1
  42. package/dist/commands/skill/test/run.d.ts +61 -2
  43. package/dist/commands/skill/test/run.d.ts.map +1 -1
  44. package/dist/commands/skill/test/run.js +289 -62
  45. package/dist/commands/skill/test/run.js.map +1 -1
  46. package/dist/commands/skills/build.d.ts.map +1 -1
  47. package/dist/commands/skills/build.js +4 -23
  48. package/dist/commands/skills/build.js.map +1 -1
  49. package/dist/commands/verify.d.ts +20 -0
  50. package/dist/commands/verify.d.ts.map +1 -1
  51. package/dist/commands/verify.js +51 -20
  52. package/dist/commands/verify.js.map +1 -1
  53. package/dist/skill-resolution/classify.d.ts +28 -0
  54. package/dist/skill-resolution/classify.d.ts.map +1 -0
  55. package/dist/skill-resolution/classify.js +58 -0
  56. package/dist/skill-resolution/classify.js.map +1 -0
  57. package/dist/skill-resolution/index.d.ts +5 -0
  58. package/dist/skill-resolution/index.d.ts.map +1 -0
  59. package/dist/skill-resolution/index.js +4 -0
  60. package/dist/skill-resolution/index.js.map +1 -0
  61. package/dist/skill-resolution/packaging-config.d.ts +31 -0
  62. package/dist/skill-resolution/packaging-config.d.ts.map +1 -0
  63. package/dist/skill-resolution/packaging-config.js +72 -0
  64. package/dist/skill-resolution/packaging-config.js.map +1 -0
  65. package/dist/skill-resolution/resolve-skill-reference.d.ts +3 -0
  66. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -0
  67. package/dist/skill-resolution/resolve-skill-reference.js +106 -0
  68. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -0
  69. package/dist/skill-resolution/types.d.ts +59 -0
  70. package/dist/skill-resolution/types.d.ts.map +1 -0
  71. package/dist/skill-resolution/types.js +7 -0
  72. package/dist/skill-resolution/types.js.map +1 -0
  73. package/dist/utils/config-loader.d.ts +23 -3
  74. package/dist/utils/config-loader.d.ts.map +1 -1
  75. package/dist/utils/config-loader.js +45 -7
  76. package/dist/utils/config-loader.js.map +1 -1
  77. package/package.json +11 -11
@@ -5,11 +5,16 @@
5
5
  * print the §12 security warning, call runSkillTestHarness, map result/error to exit code.
6
6
  * All domain logic lives in run-harness.ts (agent-skills package).
7
7
  */
8
- import { basename } from 'node:path';
9
- import { BootstrapNeededError, mapErrorToExitCode, runSkillTestHarness } from '@vibe-agent-toolkit/agent-skills';
10
- import { findProjectRoot, toForwardSlash } from '@vibe-agent-toolkit/utils';
8
+ import { existsSync } from 'node:fs';
9
+ import { basename, dirname } from 'node:path';
10
+ import { BootstrapNeededError, isAcknowledged, mapErrorToExitCode, packageSkill, packagingConfigToPackageOptions, runPreStageBuild, runSkillTestHarness, SecurityAckError, SKILL_TEST_BUILTIN_CAPS, SkillBuildError, SkillTestExitCode, } from '@vibe-agent-toolkit/agent-skills';
11
+ import { findProjectRoot, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
11
12
  import { Command } from 'commander';
13
+ import { parseSourceSpec } from '../../../skill-resolution/classify.js';
14
+ import { resolveSkillReference } from '../../../skill-resolution/index.js';
12
15
  import { loadConfig } from '../../../utils/config-loader.js';
16
+ import { runClaudePluginBuild } from '../../claude/plugin/build.js';
17
+ import { assertValidAuth, assertValidRequireAuth } from './auth-flags.js';
13
18
  /** Extract the trailing path segment (cross-platform) from a path-like string. */
14
19
  function lastPathSegment(p) {
15
20
  return basename(toForwardSlash(p));
@@ -18,10 +23,19 @@ function lastPathSegment(p) {
18
23
  // Security warning (§12)
19
24
  // ---------------------------------------------------------------------------
20
25
  const SECURITY_WARNING = `
21
- WARNING: vat skill test run executes arbitrary skill code inside a headless
22
- Claude session. The experimenter prompt and all staged skill files run with
23
- bypassPermissions. Pass --i-understand-this-runs-skill-code to acknowledge
24
- this and proceed.
26
+ WARNING: 'vat skill test run' EXECUTES the skill's code on your machine.
27
+
28
+ It spawns a headless Claude session with --permission-mode bypassPermissions,
29
+ so the staged skill files and experimenter prompt run with YOUR user account's
30
+ full privileges: they can read and write your files (including credentials under
31
+ ~/.claude, SSH keys, cloud configs), run shell commands, and make network
32
+ requests. The auth credential used to bill the run is reachable by that code.
33
+
34
+ This harness provides CONTEXT isolation only (a fresh temp working directory, a
35
+ scrubbed env allowlist, and no user/project settings) -- it is NOT an OS-level
36
+ security sandbox. Only run skills whose code you trust and have reviewed.
37
+
38
+ Pass --i-understand-this-runs-skill-code to acknowledge this and proceed.
25
39
  `.trim();
26
40
  function printSecurityWarning() {
27
41
  process.stderr.write(SECURITY_WARNING + '\n\n');
@@ -76,30 +90,12 @@ function parseWithPair(pair) {
76
90
  throw new Error(`--with entries must be "name=<src>" (e.g. mydep=workspace:foo, bar=npm:@scope/s@1.2.3, baz=path:../baz). Got: ${pair}`);
77
91
  }
78
92
  const name = pair.slice(0, eq);
79
- const src = pair.slice(eq + 1);
80
- return [name, parseSourceSpec(src, pair)];
81
- }
82
- /** Parse the `kind:value` source half of a --with pair into a SkillSourceSpec. */
83
- function parseSourceSpec(src, original) {
84
- if (src === 'vendored')
85
- return { vendored: true };
86
- const colon = src.indexOf(':');
87
- const kind = colon === -1 ? src : src.slice(0, colon);
88
- const value = colon === -1 ? '' : src.slice(colon + 1);
89
- switch (kind) {
90
- case 'workspace': return requireValue(value, original, () => ({ workspace: value }));
91
- case 'npm': return requireValue(value, original, () => ({ npm: value }));
92
- case 'path': return requireValue(value, original, () => ({ path: value }));
93
- case 'url': return requireValue(value, original, () => ({ url: value }));
94
- default:
95
- throw new Error(`--with source must start with workspace:|npm:|url:|path:|vendored. Got: ${original}`);
93
+ try {
94
+ return [name, parseSourceSpec(pair.slice(eq + 1))];
96
95
  }
97
- }
98
- function requireValue(value, original, build) {
99
- if (!value) {
100
- throw new Error(`--with source is missing a value: ${original}`);
96
+ catch (e) {
97
+ throw new Error(`--with: ${e instanceof Error ? e.message : String(e)} (in ${pair})`);
101
98
  }
102
- return build();
103
99
  }
104
100
  /** Parse an array of `name=src` flag values into a name→spec record. */
105
101
  function parseWithFlags(pairs) {
@@ -146,13 +142,12 @@ function loadTestConfig(skills) {
146
142
  const projectRoot = findProjectRoot(process.cwd());
147
143
  if (projectRoot === null)
148
144
  return undefined;
149
- let config;
150
- try {
151
- config = loadConfig(projectRoot);
152
- }
153
- catch {
154
- return undefined; // tolerate a broken/absent config → defaults
155
- }
145
+ // loadConfig returns undefined when no config exists and throws only when a
146
+ // config file is present but broken. We deliberately let that throw propagate:
147
+ // it is caught by the preflight guard in runSkillTestRun and surfaced as a
148
+ // clean exit-2 error, rather than silently applying defaults (and potentially
149
+ // staging the wrong subject) against a config the author clearly intended.
150
+ const config = loadConfig(projectRoot);
156
151
  const perSkill = config?.skills?.config;
157
152
  if (perSkill === undefined)
158
153
  return undefined;
@@ -180,6 +175,8 @@ function applyFlagOnlyOptions(opts, options) {
180
175
  opts.allowUnverifiedSkillSource = options.allowUnverifiedSkillSource;
181
176
  if (options.iUnderstandThisRunsSkillCode !== undefined)
182
177
  opts.acknowledgedRunsSkillCode = options.iUnderstandThisRunsSkillCode;
178
+ if (options.failOnEvalFailure !== undefined)
179
+ opts.failOnEvalFailure = options.failOnEvalFailure;
183
180
  }
184
181
  /** Apply flag>config merges for scalar knobs (auth, model, baseline, eval/prompt). */
185
182
  function applyScalarMerges(opts, options, config) {
@@ -199,24 +196,92 @@ function applyScalarMerges(opts, options, config) {
199
196
  opts.evalsSubpath = config.evals;
200
197
  if (config?.experimenterPrompt !== undefined)
201
198
  opts.promptOverride = config.experimenterPrompt;
202
- if (config?.build !== undefined)
203
- opts.build = config.build;
199
+ }
200
+ /**
201
+ * Resolve one cost/runtime knob with flag > config > default precedence AND a
202
+ * built-in safety cap, enforcing an asymmetry between the two sources:
203
+ *
204
+ * - a CLI FLAG (explicit operator intent for THIS run) wins and may exceed the
205
+ * built-in cap;
206
+ * - a value from a COMMITTED config (which rides along in an untrusted subject
207
+ * repo) may only LOWER the cap — a config trying to RAISE it above the ceiling
208
+ * is clamped to the ceiling, with a one-line stderr note so the clamp isn't
209
+ * silent.
210
+ *
211
+ * Returns undefined only when neither source set the knob (the domain then applies
212
+ * its own built-in default). `flagName` is the CLI flag shown in the clamp note.
213
+ */
214
+ export function resolveCappedKnob(flagValue, configValue, cap, flagName) {
215
+ if (flagValue !== undefined)
216
+ return flagValue;
217
+ if (configValue === undefined)
218
+ return undefined;
219
+ if (configValue > cap) {
220
+ process.stderr.write(`Note: config value ${configValue} for '${flagName}' exceeds the built-in safety cap ${cap}; using ${cap}. ` +
221
+ `A committed config may only lower this cap, not raise it — pass ${flagName} to override for this run.\n`);
222
+ return cap;
223
+ }
224
+ return configValue;
204
225
  }
205
226
  /** Apply flag>config merges for numeric knobs (turns/budget/timeout/stall). */
206
227
  function applyKnobMerges(opts, knobs, config) {
207
- const maxTurns = knobs.maxTurns ?? config?.maxTurns;
228
+ const maxTurns = resolveCappedKnob(knobs.maxTurns, config?.maxTurns, SKILL_TEST_BUILTIN_CAPS.maxTurns, '--max-turns');
208
229
  if (maxTurns !== undefined)
209
230
  opts.maxTurns = maxTurns;
210
- const maxBudgetUsd = knobs.maxBudgetUsd ?? config?.maxBudgetUsd;
231
+ const maxBudgetUsd = resolveCappedKnob(knobs.maxBudgetUsd, config?.maxBudgetUsd, SKILL_TEST_BUILTIN_CAPS.maxBudgetUsd, '--max-budget-usd');
211
232
  if (maxBudgetUsd !== undefined)
212
233
  opts.maxBudgetUsd = maxBudgetUsd;
213
- const timeout = knobs.timeout ?? config?.timeout;
234
+ const timeout = resolveCappedKnob(knobs.timeout, config?.timeout, SKILL_TEST_BUILTIN_CAPS.timeoutSeconds, '--timeout');
214
235
  if (timeout !== undefined)
215
236
  opts.timeout = timeout;
237
+ // `stall` is a liveness watchdog, not a cost ceiling — no built-in cap to clamp.
216
238
  const stall = knobs.stall ?? config?.stall;
217
239
  if (stall !== undefined)
218
240
  opts.stall = stall;
219
241
  }
242
+ /**
243
+ * Parse a single `KEY=VALUE` pair (split on the FIRST `=`, so values may contain
244
+ * `=`). The key must be non-empty; the value may be empty.
245
+ */
246
+ function parseEnvPair(pair) {
247
+ const eq = pair.indexOf('=');
248
+ if (eq <= 0) {
249
+ throw new Error(`--env entries must be "KEY=VALUE" (e.g. CUSTOMER_SNAPSHOT_PATH=\${fixturesDir}/snapshot.json). Got: ${pair}`);
250
+ }
251
+ return [pair.slice(0, eq), pair.slice(eq + 1)];
252
+ }
253
+ /** Parse repeated `--env KEY=VALUE` flags into a record (undefined when none). */
254
+ function parseEnvFlags(pairs) {
255
+ if (pairs === undefined || pairs.length === 0)
256
+ return undefined;
257
+ const record = {};
258
+ for (const pair of pairs) {
259
+ const [key, value] = parseEnvPair(pair);
260
+ record[key] = value;
261
+ }
262
+ return record;
263
+ }
264
+ /** Merge config + CLI `env` maps; CLI wins per-key. undefined when both absent. */
265
+ function mergeEnv(configEnv, cliEnv) {
266
+ if (configEnv === undefined && cliEnv === undefined)
267
+ return undefined;
268
+ return { ...configEnv, ...cliEnv };
269
+ }
270
+ /** Union config + CLI `passEnv` lists (config first), de-duplicated. */
271
+ function mergePassEnv(configPass, cliPass) {
272
+ if (configPass === undefined && cliPass === undefined)
273
+ return undefined;
274
+ return [...new Set([...(configPass ?? []), ...(cliPass ?? [])])];
275
+ }
276
+ /** Apply flag>config merges for the declared test env (Features A + B). */
277
+ function applyEnvMerges(opts, options, config) {
278
+ const env = mergeEnv(config?.env, parseEnvFlags(options.env));
279
+ if (env !== undefined)
280
+ opts.env = env;
281
+ const passEnv = mergePassEnv(config?.passEnv, options.passEnv);
282
+ if (passEnv !== undefined)
283
+ opts.passEnv = passEnv;
284
+ }
220
285
  /** Apply flag>config merges for injected-dependency records. */
221
286
  function applyDepMerges(opts, options, config) {
222
287
  const withSources = parseWithFlags(options.with) ?? descriptorsToRecord(config?.with);
@@ -234,32 +299,176 @@ function applyDepMerges(opts, options, config) {
234
299
  function buildHarnessOpts(skills, options, knobs, config) {
235
300
  const repoRoot = resolveRepoRoot();
236
301
  const opts = { skills, repoRoot };
237
- // cwd for the pre-stage build hook. repoRoot comes from findProjectRoot, whose
238
- // discovery ladder is config-anchored (vibe-agent-toolkit.config.yaml first, then
239
- // .git), so the project root IS the directory holding the config — configRoot and
240
- // repoRoot are the same dir by construction, not coincidence.
241
- opts.configRoot = repoRoot;
242
302
  applyFlagOnlyOptions(opts, options);
243
303
  applyScalarMerges(opts, options, config);
244
304
  applyKnobMerges(opts, knobs, config);
245
305
  applyDepMerges(opts, options, config);
306
+ applyEnvMerges(opts, options, config);
246
307
  return opts;
247
308
  }
309
+ /**
310
+ * Project-aware subject resolution for `vat skill test run`. Resolves the subject
311
+ * reference; for a declared skill, builds it (real entry points) and returns the
312
+ * dist dir to stage; everything else is staged as-is. Throws SkillBuildError
313
+ * (exit 2) for name-miss / not-found / --no-build-without-dist / build failure.
314
+ */
315
+ export async function resolveSubjectForTest(ref, cwd, flags) {
316
+ const resolved = await resolveSkillReference(ref, cwd);
317
+ switch (resolved.kind) {
318
+ case 'source':
319
+ return {
320
+ subjectSource: resolved.source,
321
+ rebuilt: false,
322
+ wouldBuild: false,
323
+ // A path subject points at the skill DIR itself (not its SKILL.md), so the
324
+ // authored scaffold dir is the resolved path — not its parent. Mirrors the
325
+ // legacy positional-path behavior in resolveScaffoldEvalsPath.
326
+ ...('path' in resolved.source
327
+ ? { subjectScaffoldDir: safePath.resolve(cwd, resolved.source.path) }
328
+ : {}),
329
+ };
330
+ case 'name-miss':
331
+ throw new SkillBuildError(`no skill named '${resolved.name}' in ${resolved.configRoot}; known skills: ${resolved.knownSkills.join(', ') || '(none)'}. (For a directory, use './${resolved.name}'.)`);
332
+ case 'not-found':
333
+ throw new SkillBuildError(`no path '${resolved.ref}' and no governing config to resolve a name; pass a path or run inside a VAT project.`);
334
+ case 'buildable':
335
+ return resolveBuildableSubject(resolved, flags);
336
+ }
337
+ }
338
+ /**
339
+ * Resolve a buildable subject under --no-build or --dry-run (no build step). Stage
340
+ * the existing dist if present; for a dry-run with no dist yet, fall back to the
341
+ * source dir so the preview still assembles without triggering a build. Throws when
342
+ * --no-build is set but no dist exists.
343
+ */
344
+ function resolveNoBuildDryRunBranch(ref, scaffoldDir, flags) {
345
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- expectedDistDir derived from project config
346
+ if (existsSync(ref.expectedDistDir)) {
347
+ if (flags.noBuild) {
348
+ process.stderr.write(`Using existing dist (NOT rebuilt): ${ref.expectedDistDir}\n`);
349
+ }
350
+ return {
351
+ subjectSource: { path: ref.expectedDistDir },
352
+ subjectScaffoldDir: scaffoldDir,
353
+ rebuilt: false,
354
+ wouldBuild: true,
355
+ // For a dry-run that staged an existing (unbuilt) dist, flag it as
356
+ // potentially stale so the summary can warn the user.
357
+ ...(flags.dryRun ? { dryRunStagedExistingDist: true } : {}),
358
+ };
359
+ }
360
+ if (flags.dryRun) {
361
+ return {
362
+ subjectSource: { path: scaffoldDir },
363
+ subjectScaffoldDir: scaffoldDir,
364
+ rebuilt: false,
365
+ wouldBuild: true,
366
+ dryRunStagedExistingDist: false,
367
+ };
368
+ }
369
+ throw new SkillBuildError(`--no-build: no built dist at ${ref.expectedDistDir}. Run \`vat build\` first, or point at a built path.`);
370
+ }
371
+ /** Build a declared skill (or stage its existing dist under --no-build/--dry-run), then return the dist to stage. */
372
+ async function resolveBuildableSubject(ref, flags) {
373
+ const scaffoldDir = dirname(ref.sourcePath);
374
+ // --no-build and --dry-run never build — delegate to the dedicated branch helper.
375
+ if (flags.noBuild || flags.dryRun) {
376
+ return resolveNoBuildDryRunBranch(ref, scaffoldDir, flags);
377
+ }
378
+ // SECURITY (§12): reaching here means a real build WOULD run — runPreStageBuild
379
+ // executes an ARBITRARY shell command from the repo's committed `test.build`, and
380
+ // packageSkill/runClaudePluginBuild run the repo's build. Enforce the ack BEFORE
381
+ // any of that, so an untrusted clone never executes its build without the user's
382
+ // explicit acknowledgment. (Defense-in-depth: the harness Step-6 check remains.)
383
+ if (!flags.acknowledged) {
384
+ throw new SecurityAckError();
385
+ }
386
+ // test.build hook (upstream artifacts) BEFORE the skill build -- ordering matters.
387
+ if (flags.build !== undefined) {
388
+ runPreStageBuild({ buildCommand: flags.build, configRoot: ref.configRoot });
389
+ }
390
+ try {
391
+ if (ref.distribution.kind === 'pool') {
392
+ await packageSkill(ref.sourcePath, packagingConfigToPackageOptions(ref.packagingConfig, {
393
+ skillPath: ref.sourcePath,
394
+ outputPath: ref.expectedDistDir,
395
+ }));
396
+ }
397
+ else {
398
+ await runClaudePluginBuild(ref.configRoot, { marketplace: ref.distribution.marketplaceName });
399
+ }
400
+ }
401
+ catch (e) {
402
+ throw new SkillBuildError(`Skill build failed for '${ref.name}': ${e instanceof Error ? e.message : String(e)}`);
403
+ }
404
+ return { subjectSource: { path: ref.expectedDistDir }, subjectScaffoldDir: scaffoldDir, rebuilt: true, wouldBuild: true };
405
+ }
248
406
  // ---------------------------------------------------------------------------
249
407
  // Testable action
250
408
  // ---------------------------------------------------------------------------
409
+ /**
410
+ * Validate usage-level flags (auth values, numeric knobs) and load the subject's
411
+ * persisted test config. Runs before the async harness work, so a bad flag exits
412
+ * with a clean message + preflight code (2) instead of surfacing as an unhandled
413
+ * promise rejection (raw stack trace, exit 1).
414
+ */
415
+ function preflightKnobsAndConfig(skills, options) {
416
+ try {
417
+ assertValidAuth(options.auth);
418
+ assertValidRequireAuth(options.requireAuth);
419
+ return { knobs: coerceKnobs(options), config: loadTestConfig(skills) };
420
+ }
421
+ catch (err) {
422
+ process.stderr.write(`Error: ${err instanceof Error ? err.message : String(err)}\n`);
423
+ process.exit(SkillTestExitCode.Preflight);
424
+ }
425
+ }
251
426
  /**
252
427
  * The unit-testable action for `vat skill test run`. Exported so tests can
253
428
  * call it directly without parsing CLI args. Calls process.exit on completion.
254
429
  *
255
- * Note: the security ack enforcement lives inside runSkillTestHarness (domain),
256
- * NOT here — this ensures the mock in tests can bypass it cleanly.
430
+ * Security ack enforcement happens in TWO places that share the isAcknowledged
431
+ * predicate: (1) here, BEFORE resolveSubjectForTest builds a declared subject —
432
+ * so an untrusted clone never runs its `test.build`/packageSkill without the ack;
433
+ * (2) inside runSkillTestHarness (Step 6) as defense-in-depth before spawning.
257
434
  */
258
435
  export async function runSkillTestRun(skills, options) {
259
436
  printSecurityWarning();
260
- const knobs = coerceKnobs(options);
261
- const config = loadTestConfig(skills);
437
+ const { knobs, config } = preflightKnobsAndConfig(skills, options);
438
+ // Commander stores the `--no-build` negatable flag under `build` (=== false when set);
439
+ // honor an explicit programmatic `noBuild` too.
440
+ const noBuild = options.noBuild === true || options.build === false;
441
+ // Reuse the harness's ack predicate so the pre-build gate and the harness
442
+ // Step-6 gate share one definition of "acknowledged" (a dry-run counts).
443
+ const acknowledged = isAcknowledged({
444
+ dryRun: options.dryRun === true,
445
+ acknowledgedRunsSkillCode: options.iUnderstandThisRunsSkillCode === true,
446
+ });
447
+ let subject;
448
+ try {
449
+ subject = await resolveSubjectForTest(skills[0] ?? '', process.cwd(), {
450
+ noBuild,
451
+ dryRun: options.dryRun === true,
452
+ acknowledged,
453
+ ...(config?.build === undefined ? {} : { build: config.build }),
454
+ });
455
+ }
456
+ catch (err) {
457
+ const exitCode = mapErrorToExitCode(err);
458
+ process.stderr.write(`Error: ${err instanceof Error ? err.message : String(err)}\n`);
459
+ process.exit(exitCode);
460
+ return;
461
+ }
262
462
  const harnessOpts = buildHarnessOpts(skills, options, knobs, config);
463
+ harnessOpts.subjectSource = subject.subjectSource;
464
+ harnessOpts.rebuilt = subject.rebuilt;
465
+ harnessOpts.wouldBuild = subject.wouldBuild;
466
+ if (subject.subjectScaffoldDir !== undefined) {
467
+ harnessOpts.subjectScaffoldDir = subject.subjectScaffoldDir;
468
+ }
469
+ if (subject.dryRunStagedExistingDist !== undefined) {
470
+ harnessOpts.dryRunStagedExistingDist = subject.dryRunStagedExistingDist;
471
+ }
263
472
  try {
264
473
  const result = await runSkillTestHarness(harnessOpts);
265
474
  process.stderr.write(`Harness: ${result.harnessPath}\n`);
@@ -287,11 +496,14 @@ export async function runSkillTestRun(skills, options) {
287
496
  export function createSkillTestRunCommand() {
288
497
  const command = new Command('run');
289
498
  command
290
- .description('Execute the eval suite for a packaged skill in a headless Claude sandbox')
499
+ .description('Execute a packaged skill\'s eval suite in a headless, context-isolated Claude session (runs the skill\'s code; not an OS sandbox)')
291
500
  .argument('<skill...>', 'Skill name(s) to test (primary subject set)')
292
501
  .option('--with <pair...>', 'Inject a declared-dependency skill as name=<src>, where <src> is workspace:<pkg> | npm:<spec> | url:<u> | path:<dir> | vendored (e.g. mydep=npm:@scope/s@1.2.3)')
293
502
  .option('--with-optional <pair...>', 'Inject an optional skill as name=<src> (same syntax as --with)')
503
+ .option('--env <pair...>', 'Inject an env var into the experimenter spawn as KEY=VALUE (repeatable). Values support ${fixturesDir}, ${stagedSkillDir}, ${harnessRoot}, ${resultsDir}. CLI overrides config for the same key.')
504
+ .option('--pass-env <key...>', 'Forward a host env var by NAME to the experimenter spawn if present (repeatable). Protected names (PATH, auth, model) are ignored.')
294
505
  .option('--refresh', 'Force a full re-stage (ignore existing staged content)')
506
+ .option('--no-build', 'Skip building a declared skill; stage its existing dist instead (errors if absent)')
295
507
  .option('--workdir <dir>', 'Override the harness working directory')
296
508
  .option('--out <dir>', 'Override the harness output directory')
297
509
  .option('--keep', 'Keep the harness directory after the run')
@@ -299,9 +511,10 @@ export function createSkillTestRunCommand() {
299
511
  .option('--auth <mode>', 'Auth mechanism: inherit | subscription | api-key | auto')
300
512
  .option('--require-auth <mech>', 'Require a specific auth mechanism: subscription | api-key')
301
513
  .option('--baseline', 'Enable A/B baseline run (with/without skill)')
514
+ .option('--fail-on-eval-failure', 'Exit non-zero when any eval fails (default: the run exits 0 if the harness completed and produced grading.json; eval pass/fail is in the summary).')
302
515
  .option('--allow-unverified-skill-source', 'Skip the vendored manifest integrity check')
303
516
  .option('--i-understand-this-runs-skill-code', 'Acknowledge this command executes skill code (required)')
304
- .option('--model <id>', 'Pinned model ID override')
517
+ .option('--model <id>', "Model ID passed VERBATIM to `claude --model <id>` (VAT does no mapping/validation; e.g. opus, sonnet, claude-opus-4-8). Omit to use claude's own default model.")
305
518
  .option('--max-turns <n>', 'Cap on experimenter turns (positive integer)')
306
519
  .option('--max-budget-usd <n>', 'Hard USD budget cap (positive number)')
307
520
  .option('--timeout <s>', 'Wall-clock timeout in seconds (positive integer)')
@@ -310,22 +523,36 @@ export function createSkillTestRunCommand() {
310
523
  .action(runSkillTestRun)
311
524
  .addHelpText('after', `
312
525
  Description:
313
- Stages the named skill(s) into an isolated tmp directory, runs preflight
314
- checks (claude binary, auth, eval inputs, budget), then spawns a headless
315
- Claude session with a non-interactive experimenter prompt. The experimenter
316
- grades each eval against the skill's expectations and writes grading.json.
526
+ Stages the named skill(s) into a fresh temp harness (context isolation: a
527
+ scrubbed env allowlist and no user/project settings -- NOT an OS security
528
+ sandbox), runs preflight checks (claude binary, auth, eval inputs, budget),
529
+ then spawns a headless Claude session with a non-interactive experimenter
530
+ prompt. The experimenter grades each eval against the skill's expectations
531
+ and writes grading.json.
532
+
533
+ IMPORTANT: This command EXECUTES the skill's code with your user account's
534
+ full privileges (filesystem, network, shell) and a reachable auth credential.
535
+ Only run skills you trust. You MUST pass --i-understand-this-runs-skill-code
536
+ to acknowledge this and proceed.
317
537
 
318
- IMPORTANT: This command executes arbitrary skill code. You MUST pass
319
- --i-understand-this-runs-skill-code to acknowledge this and proceed.
538
+ Model:
539
+ --model <id> is passed straight through to the experimenter spawn as
540
+ \`claude --model <id>\` (verbatim -- VAT does not map or validate it). With no
541
+ --model, no flag is passed and claude picks its own default. The selected
542
+ model is echoed to stderr ("Model: <id>") on every run, and the --dry-run
543
+ output shows the model flag that would be passed (not the full argv — budget,
544
+ turns, and permission flags are added at spawn time).
320
545
 
321
546
  Exit Codes:
322
547
  0 - Harness ran to completion and produced a valid grading.json (check summary/grading.json for pass/fail counts)
323
- 1 - Internal error (grading.json absent/invalid, experimenter crash, stall/timeout)
324
- 2 - Preflight failed (missing binary, auth error, eval inputs absent, unsafe workdir, ack missing)
548
+ 1 - Internal error (grading.json absent/invalid, summary/expectations skew, experimenter crash, stall/timeout)
549
+ 2 - Preflight failed (missing binary, auth error, eval inputs absent, unsafe workdir, ack missing, skill build failed, or --no-build with no existing dist)
325
550
  3 - Bootstrap needed: evals.json was absent, so VAT wrote a starter template next to the skill source. Fill it in and re-run.
551
+ 4 - An eval FAILED and --fail-on-eval-failure was passed (the harness completed; expectations did not all pass). Without the flag this is exit 0.
326
552
 
327
- Note: eval pass/fail is NOT reflected in the exit code. Read the printed summary
328
- ("PASS N/N" or "FAIL N/N") or grading.json to determine whether expectations passed.
553
+ Note: by DEFAULT, eval pass/fail is NOT reflected in the exit code -- read the
554
+ printed summary ("PASS N/N" or "FAIL N/N") or grading.json. Pass
555
+ --fail-on-eval-failure to make a failing eval exit 4 (e.g. to gate CI).
329
556
 
330
557
  Example:
331
558
  $ vat skill test run my-skill --i-understand-this-runs-skill-code
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/skill/test/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/skill/test/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/build.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAaD,wBAAgB,kBAAkB,IAAI,OAAO,CAkE5C"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/build.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAkE5C"}
@@ -8,8 +8,7 @@
8
8
  */
9
9
  import { existsSync } from 'node:fs';
10
10
  import { rm } from 'node:fs/promises';
11
- import { dirname } from 'node:path';
12
- import { mergeFilesConfig, packageSkills, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
11
+ import { mergeFilesConfig, packageSkills, packagingConfigToPackageOptions, skillNameToFsPath, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
13
12
  import { safePath } from '@vibe-agent-toolkit/utils';
14
13
  import { Command } from 'commander';
15
14
  import { handleCommandError } from '../../utils/command-error.js';
@@ -18,16 +17,6 @@ import { requireProjectRoot } from '../../utils/project-root-policy.js';
18
17
  import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
19
18
  import { filterSkillsByName, setupCommandContext, writeYamlHeader, } from './command-helpers.js';
20
19
  import { discoverSkillsFromConfig } from './skill-discovery.js';
21
- /**
22
- * Sanitize skill names with colon namespaces for filesystem paths.
23
- *
24
- * Skill names use colon-namespacing (e.g. "vibe-agent-toolkit:vat-audit") which is
25
- * valid in YAML/JSON but invalid as a directory name on Windows. Replace colons with
26
- * double-underscore -- unambiguous, reversible, and safe on all platforms.
27
- */
28
- function skillNameToFsPath(name) {
29
- return name.replaceAll(':', '__');
30
- }
31
20
  export function createBuildCommand() {
32
21
  const command = new Command('build');
33
22
  command
@@ -320,18 +309,10 @@ async function buildCommand(pathArg, options) {
320
309
  // Build all skills with a shared registry
321
310
  const specs = validatedSpecs.map(({ skill, packagingConfig }) => ({
322
311
  skillPath: skill.sourcePath,
323
- options: {
312
+ options: packagingConfigToPackageOptions(packagingConfig, {
313
+ skillPath: skill.sourcePath,
324
314
  outputPath: safePath.resolve(cwd, 'dist', 'skills', skillNameToFsPath(skill.name)),
325
- formats: ['directory'],
326
- rewriteLinks: true,
327
- basePath: dirname(skill.sourcePath),
328
- ...(packagingConfig.resourceNaming && { resourceNaming: packagingConfig.resourceNaming }),
329
- ...(packagingConfig.stripPrefix && { stripPrefix: packagingConfig.stripPrefix }),
330
- ...(packagingConfig.linkFollowDepth !== undefined && { linkFollowDepth: packagingConfig.linkFollowDepth }),
331
- ...(packagingConfig.excludeReferencesFromBundle && { excludeReferencesFromBundle: packagingConfig.excludeReferencesFromBundle }),
332
- ...(packagingConfig.files && { files: packagingConfig.files }),
333
- ...(packagingConfig.validation && { validation: packagingConfig.validation }),
334
- },
315
+ }),
335
316
  }));
336
317
  const packageResults = await packageSkills(specs, cwd);
337
318
  const results = [];
@@ -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":"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"}