@vibe-agent-toolkit/cli 0.1.41-rc.4 → 0.1.41-rc.6

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/bin.js +2 -4
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/agent/help.d.ts.map +1 -1
  4. package/dist/commands/agent/help.js +2 -4
  5. package/dist/commands/agent/help.js.map +1 -1
  6. package/dist/commands/claude/org/skills.d.ts +13 -0
  7. package/dist/commands/claude/org/skills.d.ts.map +1 -1
  8. package/dist/commands/claude/org/skills.js +57 -30
  9. package/dist/commands/claude/org/skills.js.map +1 -1
  10. package/dist/commands/claude/plugin/build.d.ts +1 -1
  11. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  12. package/dist/commands/claude/plugin/build.js +239 -82
  13. package/dist/commands/claude/plugin/build.js.map +1 -1
  14. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  15. package/dist/commands/claude/plugin/install.js +7 -2
  16. package/dist/commands/claude/plugin/install.js.map +1 -1
  17. package/dist/commands/claude/plugin/tree-copy.d.ts +10 -3
  18. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  19. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  20. package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
  21. package/dist/commands/claude/plugin/uninstall.js +10 -2
  22. package/dist/commands/claude/plugin/uninstall.js.map +1 -1
  23. package/dist/commands/rag/help.d.ts.map +1 -1
  24. package/dist/commands/rag/help.js +2 -4
  25. package/dist/commands/rag/help.js.map +1 -1
  26. package/dist/commands/resources/help.d.ts.map +1 -1
  27. package/dist/commands/resources/help.js +2 -4
  28. package/dist/commands/resources/help.js.map +1 -1
  29. package/dist/commands/resources/validate.d.ts +19 -0
  30. package/dist/commands/resources/validate.d.ts.map +1 -1
  31. package/dist/commands/resources/validate.js +51 -0
  32. package/dist/commands/resources/validate.js.map +1 -1
  33. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  34. package/dist/commands/skill/test/configure.js +1 -1
  35. package/dist/commands/skill/test/configure.js.map +1 -1
  36. package/dist/commands/skill/test/run.d.ts +111 -24
  37. package/dist/commands/skill/test/run.d.ts.map +1 -1
  38. package/dist/commands/skill/test/run.js +328 -63
  39. package/dist/commands/skill/test/run.js.map +1 -1
  40. package/dist/commands/skills/build.d.ts.map +1 -1
  41. package/dist/commands/skills/build.js +3 -32
  42. package/dist/commands/skills/build.js.map +1 -1
  43. package/dist/commands/skills/install.d.ts.map +1 -1
  44. package/dist/commands/skills/install.js +79 -25
  45. package/dist/commands/skills/install.js.map +1 -1
  46. package/dist/commands/skills/list.d.ts.map +1 -1
  47. package/dist/commands/skills/list.js +9 -5
  48. package/dist/commands/skills/list.js.map +1 -1
  49. package/dist/commands/skills/skill-discovery.d.ts +7 -0
  50. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  51. package/dist/commands/skills/skill-discovery.js +5 -3
  52. package/dist/commands/skills/skill-discovery.js.map +1 -1
  53. package/dist/commands/verify.d.ts.map +1 -1
  54. package/dist/commands/verify.js +7 -2
  55. package/dist/commands/verify.js.map +1 -1
  56. package/dist/skill-resolution/classify.d.ts +7 -2
  57. package/dist/skill-resolution/classify.d.ts.map +1 -1
  58. package/dist/skill-resolution/classify.js +7 -2
  59. package/dist/skill-resolution/classify.js.map +1 -1
  60. package/dist/skill-resolution/resolve-skill-reference.d.ts +10 -8
  61. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
  62. package/dist/skill-resolution/resolve-skill-reference.js +62 -23
  63. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
  64. package/dist/skill-resolution/types.d.ts +3 -2
  65. package/dist/skill-resolution/types.d.ts.map +1 -1
  66. package/dist/utils/help-loader.d.ts +16 -0
  67. package/dist/utils/help-loader.d.ts.map +1 -1
  68. package/dist/utils/help-loader.js +31 -1
  69. package/dist/utils/help-loader.js.map +1 -1
  70. package/dist/utils/skill-packaging-config.d.ts +15 -6
  71. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  72. package/dist/utils/skill-packaging-config.js +23 -5
  73. package/dist/utils/skill-packaging-config.js.map +1 -1
  74. package/docs/index.md +39 -0
  75. package/docs/skill-test.md +213 -0
  76. package/docs/skills.md +29 -4
  77. package/package.json +13 -13
@@ -8,6 +8,7 @@
8
8
  import { runSkillTestHarness, type SkillPackagingConfig } from '@vibe-agent-toolkit/agent-skills';
9
9
  import type { SkillSourceDescriptor } from '@vibe-agent-toolkit/resources';
10
10
  import { Command } from 'commander';
11
+ import { type BuildableReference } from '../../../skill-resolution/index.js';
11
12
  export interface SkillTestRunOptions {
12
13
  with?: string[];
13
14
  withOptional?: string[];
@@ -33,6 +34,12 @@ export interface SkillTestRunOptions {
33
34
  debug?: boolean;
34
35
  env?: string[];
35
36
  passEnv?: string[];
37
+ /**
38
+ * Path (or npm bare specifier) to the evals.json this run grades against.
39
+ * Resolved against the process cwd, unlike `test.evals`, which is resolved
40
+ * against the skill source.
41
+ */
42
+ evals?: string;
36
43
  /** Skip building a declared subject and stage its existing dist instead. */
37
44
  noBuild?: boolean;
38
45
  /** Opt out of the fail-closed default: exit Ok (0) even when an eval fails. */
@@ -103,18 +110,95 @@ export interface ResolvedSubject {
103
110
  */
104
111
  declaredExecutables?: DeclaredExecutable[];
105
112
  }
113
+ /**
114
+ * Build GATING for a declared skill: the flags that decide IF a build happens.
115
+ * Assembled once per run in {@link runSkillTestRun} and threaded, unchanged, through
116
+ * SUBJECT and COMPANION resolution so both arms share one gate.
117
+ *
118
+ * Deliberately carries NO `test.build` command. That hook is per-SKILL, not per-run:
119
+ * it is declared by one skill in one config and runs with THAT config's root as cwd,
120
+ * so it travels beside the ref being built (see {@link buildDeclaredSkill}'s
121
+ * `buildCommand`), never inside this shared gate. A subject's command riding in here
122
+ * would execute against every companion's config root.
123
+ */
124
+ export interface BuildFlags {
125
+ /** Skip the build entirely and stage the existing dist (errors if absent). */
126
+ noBuild: boolean;
127
+ /** Assemble a preview only — never spawn. Builds ONLY when {@link explicitAck}. */
128
+ dryRun: boolean;
129
+ /**
130
+ * The §12 security acknowledgment as the harness computes it — a dry run counts
131
+ * as acknowledged, because a preview that never builds and never spawns executes
132
+ * nothing. Gates SecurityAckError.
133
+ */
134
+ acknowledged: boolean;
135
+ /**
136
+ * Whether `--i-understand-this-runs-skill-code` was ACTUALLY passed, distinct from
137
+ * {@link acknowledged}, which a dry run satisfies for free.
138
+ *
139
+ * A dry run now BUILDS, and building runs the repo's committed `test.build` hook —
140
+ * an arbitrary shell command. Gating that on {@link acknowledged} would be no gate
141
+ * at all, since dry runs synthesize it. So the build decision uses this raw flag,
142
+ * keeping an unacknowledged dry run safe to point at an untrusted clone.
143
+ */
144
+ explicitAck: boolean;
145
+ }
106
146
  /**
107
147
  * Project-aware subject resolution for `vat skill test run`. Resolves the subject
108
148
  * reference; for a declared skill, builds it (real entry points) and returns the
109
149
  * dist dir to stage; everything else is staged as-is. Throws SkillBuildError
110
150
  * (exit 2) for name-miss / not-found / --no-build-without-dist / build failure.
151
+ *
152
+ * `memo` is the per-run build memo (see {@link BuildMemo}) — pass the SAME map used
153
+ * for companion resolution so a skill that is both subject and companion builds once.
154
+ *
155
+ * `buildCommand` is the SUBJECT's own `test.build` hook, resolved by
156
+ * {@link loadTestConfig} (which carries a bare-name/basename fallback a raw config
157
+ * lookup lacks). It applies to the subject's build ONLY — companions resolve theirs
158
+ * from their own governing config.
111
159
  */
112
- export declare function resolveSubjectForTest(ref: string, cwd: string, flags: {
113
- noBuild: boolean;
114
- dryRun: boolean;
115
- acknowledged: boolean;
116
- build?: string;
117
- }): Promise<ResolvedSubject>;
160
+ export declare function resolveSubjectForTest(ref: string, cwd: string, flags: BuildFlags, memo: BuildMemo, buildCommand: string | undefined): Promise<ResolvedSubject>;
161
+ /** Result of {@link buildDeclaredSkill}: where the built (or reused) dist landed. */
162
+ export interface BuildDeclaredSkillResult {
163
+ distDir: string;
164
+ rebuilt: boolean;
165
+ /**
166
+ * Set only under --dry-run: true = an existing dist was staged WITHOUT
167
+ * rebuilding (may be stale); false = no dist existed yet so the preview fell
168
+ * back to the source dir. Absent for a real (non-dry-run) build.
169
+ */
170
+ dryRunStagedExistingDist?: boolean;
171
+ }
172
+ /**
173
+ * Per-run memo of BUILD OPERATIONS, so one build operation never runs twice in a
174
+ * run. Two disjoint key namespaces share the set: the declared-skill build itself
175
+ * (`pool:` / `plugin:`, see {@link buildMemoKey}) and the `test.build` pre-stage
176
+ * shell hook (`hook:`, see {@link preStageHookMemoKey}) — the hook needs its own
177
+ * because two DIFFERENT skills in one config may declare the SAME command, which
178
+ * is one hook invocation but two distinct builds.
179
+ *
180
+ * A `Set` of operation keys, NOT a `Map` caching results: the key identifies an
181
+ * OPERATION, not a skill, and a
182
+ * `plugin-local` operation rebuilds the WHOLE marketplace, so two different skills
183
+ * in that marketplace deliberately share one key while having DIFFERENT
184
+ * `expectedDistDir`s. A result cached under that shared key would be valid only for
185
+ * the ref that recorded it — handing it to the other ref would stage the WRONG
186
+ * skill's dist. {@link verifyBuiltDist} is what a memo hit re-derives (always keyed
187
+ * off THIS ref, never a cached value) to avoid exactly that bug.
188
+ */
189
+ export type BuildMemo = Set<string>;
190
+ /**
191
+ * Identity of the BUILD OPERATION a {@link BuildableReference} triggers — the memo key.
192
+ *
193
+ * A `pool` skill is built by `packageSkill` into its own `expectedDistDir`, so that
194
+ * dir IS the operation's identity. A `plugin-local` skill is built by
195
+ * `runClaudePluginBuild`, which `rm -rf`s and rebuilds EVERY plugin in the whole
196
+ * marketplace — so the operation's identity is the (configRoot, marketplace) pair,
197
+ * NOT the skill. Keying plugin-local per skill would make a second companion in the
198
+ * same marketplace trigger a full marketplace wipe-and-rebuild that reproduces work
199
+ * the first call already did.
200
+ */
201
+ export declare function buildMemoKey(ref: BuildableReference): string;
118
202
  /**
119
203
  * Companion analog of {@link resolveBuildableSubject} (issue #158): resolve every
120
204
  * `--with`/`--with-optional` companion whose spec is a `{ path }` pointing at a
@@ -123,26 +207,29 @@ export declare function resolveSubjectForTest(ref: string, cwd: string, flags: {
123
207
  * url:/vendored specs, or a path outside this project's config — is "a different
124
208
  * story" (per the issue's own framing): left untouched, staged as today.
125
209
  *
126
- * A REQUIRED companion's build failure propagates (matches the existing "--with
127
- * fails if a source cannot be resolved" contract, extended to "cannot be built").
128
- * An OPTIONAL companion's build failure falls back to the ORIGINAL (unbuilt) path
129
- * spec — this fix must never make an already-degraded optional companion WORSE;
130
- * staging's existing skip-with-warning fallback still applies if that raw copy
131
- * also fails to stage.
210
+ * The `test.build` hook used is the COMPANION's own — read from the config that
211
+ * governs IT ({@link declaredSkillTestConfig}), not the subject's. The subject's hook
212
+ * is a different skill's command in a (possibly) different package, and running it
213
+ * here would execute it with the companion's config root as cwd.
214
+ *
215
+ * FAILURE HANDLING. A REQUIRED companion's failure ALWAYS propagates (the existing
216
+ * "--with fails if a source cannot be resolved" contract, extended to "cannot be
217
+ * built"), re-messaged to name the alias the user typed. An OPTIONAL companion
218
+ * degrades to the ORIGINAL (unbuilt) path spec — with a mandatory stderr note — only
219
+ * for the narrow, non-destructive case {@link isSurvivableCompanionFailure} allows;
220
+ * every other failure propagates for it too. Staging's existing skip-with-warning
221
+ * fallback still applies if the raw copy also fails to stage.
222
+ *
223
+ * DRY-RUN STALENESS: a `--dry-run` preview that staged an EXISTING
224
+ * companion dist WITHOUT rebuilding it warns on stderr, naming the companion +
225
+ * its declared skill, using {@link buildStaleDistWarningLines} — the SAME
226
+ * warning-construction the subject's own dry-run summary uses (never a copied
227
+ * string), so the identical fact ("this preview may be stale") warns for either
228
+ * role instead of only the subject.
132
229
  */
133
- export declare function resolveCompanionSpec(name: string, spec: SkillSourceSpec, repoRoot: string, flags: {
134
- noBuild: boolean;
135
- dryRun: boolean;
136
- acknowledged: boolean;
137
- build?: string;
138
- }, optional: boolean): Promise<SkillSourceSpec>;
230
+ export declare function resolveCompanionSpec(name: string, spec: SkillSourceSpec, repoRoot: string, flags: BuildFlags, optional: boolean, memo: BuildMemo): Promise<SkillSourceSpec>;
139
231
  /** Resolve every entry of a `--with`/`--with-optional` companion record (see {@link resolveCompanionSpec}). */
140
- export declare function resolveCompanionSources(sources: Record<string, SkillSourceSpec> | undefined, repoRoot: string, flags: {
141
- noBuild: boolean;
142
- dryRun: boolean;
143
- acknowledged: boolean;
144
- build?: string;
145
- }, optional: boolean): Promise<Record<string, SkillSourceSpec> | undefined>;
232
+ export declare function resolveCompanionSources(sources: Record<string, SkillSourceSpec> | undefined, repoRoot: string, flags: BuildFlags, optional: boolean, memo: BuildMemo): Promise<Record<string, SkillSourceSpec> | undefined>;
146
233
  /**
147
234
  * True when the resolved subject is a CONFIG-BLIND path target: a `{ path }` source
148
235
  * staged AS-IS (not built) that does NOT map back to a declared skill, so the project's
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/skill/test/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/skill/test/run.ts"],"names":[],"mappings":"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"}