@vibe-agent-toolkit/agent-skills 0.1.41-rc.7 → 0.1.41
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/content-type-routing.d.ts +18 -1
- package/dist/content-type-routing.d.ts.map +1 -1
- package/dist/content-type-routing.js +17 -0
- package/dist/content-type-routing.js.map +1 -1
- package/dist/evidence/build-evidence.d.ts +38 -0
- package/dist/evidence/build-evidence.d.ts.map +1 -0
- package/dist/evidence/build-evidence.js +60 -0
- package/dist/evidence/build-evidence.js.map +1 -0
- package/dist/evidence/index.d.ts +1 -0
- package/dist/evidence/index.d.ts.map +1 -1
- package/dist/evidence/index.js +1 -0
- package/dist/evidence/index.js.map +1 -1
- package/dist/files-config.d.ts +225 -31
- package/dist/files-config.d.ts.map +1 -1
- package/dist/files-config.js +445 -123
- package/dist/files-config.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/post-build-checks.d.ts +10 -1
- package/dist/post-build-checks.d.ts.map +1 -1
- package/dist/post-build-checks.js +55 -6
- package/dist/post-build-checks.js.map +1 -1
- package/dist/schemas/index.d.ts +3 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/installed-plugins-registry.d.ts +137 -63
- package/dist/schemas/installed-plugins-registry.d.ts.map +1 -1
- package/dist/schemas/installed-plugins-registry.js +94 -6
- package/dist/schemas/installed-plugins-registry.js.map +1 -1
- package/dist/schemas/known-marketplaces-registry.d.ts +165 -100
- package/dist/schemas/known-marketplaces-registry.d.ts.map +1 -1
- package/dist/schemas/known-marketplaces-registry.js +108 -21
- package/dist/schemas/known-marketplaces-registry.js.map +1 -1
- package/dist/schemas/registry-drift.d.ts +53 -0
- package/dist/schemas/registry-drift.d.ts.map +1 -0
- package/dist/schemas/registry-drift.js +50 -0
- package/dist/schemas/registry-drift.js.map +1 -0
- package/dist/skill-packager.d.ts +75 -5
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +304 -50
- package/dist/skill-packager.js.map +1 -1
- package/dist/skill-source/git-clone.d.ts.map +1 -1
- package/dist/skill-source/git-clone.js +32 -11
- package/dist/skill-source/git-clone.js.map +1 -1
- package/dist/skill-test/eval-inputs.js +2 -2
- package/dist/skill-test/eval-inputs.js.map +1 -1
- package/dist/skill-test/eval-lint.js +2 -2
- package/dist/skill-test/eval-lint.js.map +1 -1
- package/dist/skill-test/grader-prompt.js +2 -2
- package/dist/skill-test/grader-prompt.js.map +1 -1
- package/dist/test-input.d.ts +59 -24
- package/dist/test-input.d.ts.map +1 -1
- package/dist/test-input.js +77 -16
- package/dist/test-input.js.map +1 -1
- package/dist/validators/agent-instruction-presence.d.ts +41 -0
- package/dist/validators/agent-instruction-presence.d.ts.map +1 -0
- package/dist/validators/agent-instruction-presence.js +79 -0
- package/dist/validators/agent-instruction-presence.js.map +1 -0
- package/dist/validators/bundled-resource-link-detection.d.ts +20 -3
- package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
- package/dist/validators/bundled-resource-link-detection.js +78 -34
- package/dist/validators/bundled-resource-link-detection.js.map +1 -1
- package/dist/validators/compat-detectors.d.ts +9 -4
- package/dist/validators/compat-detectors.d.ts.map +1 -1
- package/dist/validators/compat-detectors.js +18 -30
- package/dist/validators/compat-detectors.js.map +1 -1
- package/dist/validators/index.d.ts +1 -0
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +1 -0
- package/dist/validators/index.js.map +1 -1
- package/dist/validators/packaging-validator.d.ts +68 -10
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +51 -10
- package/dist/validators/packaging-validator.js.map +1 -1
- package/dist/validators/registry-validator.d.ts.map +1 -1
- package/dist/validators/registry-validator.js +28 -7
- package/dist/validators/registry-validator.js.map +1 -1
- package/dist/validators/rule-engine/rule-context.d.ts +4 -2
- package/dist/validators/rule-engine/rule-context.d.ts.map +1 -1
- package/dist/validators/rule-engine/rule-context.js.map +1 -1
- package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
- package/dist/validators/rule-engine/rule-engine.js +15 -3
- package/dist/validators/rule-engine/rule-engine.js.map +1 -1
- package/dist/validators/skill-validator.d.ts.map +1 -1
- package/dist/validators/skill-validator.js +16 -10
- package/dist/validators/skill-validator.js.map +1 -1
- package/dist/validators/source-only-codes.d.ts.map +1 -1
- package/dist/validators/source-only-codes.js +1 -0
- package/dist/validators/source-only-codes.js.map +1 -1
- package/dist/validators/validation-rules.d.ts +135 -17
- package/dist/validators/validation-rules.d.ts.map +1 -1
- package/dist/validators/validation-rules.js +192 -38
- package/dist/validators/validation-rules.js.map +1 -1
- package/dist/validators/walker-to-issues.d.ts.map +1 -1
- package/dist/validators/walker-to-issues.js +20 -7
- package/dist/validators/walker-to-issues.js.map +1 -1
- package/dist/walk-link-graph.d.ts +10 -1
- package/dist/walk-link-graph.d.ts.map +1 -1
- package/dist/walk-link-graph.js +124 -39
- package/dist/walk-link-graph.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared primitives for reporting what a liberally-parsed registry absorbed.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code owns `installed_plugins.json` and `known_marketplaces.json`; VAT only
|
|
5
|
+
* reads them. Per VAT's Postel's Law rule (CLAUDE.md: "Reading outside world →
|
|
6
|
+
* liberal") both schemas `.passthrough()`, so an unrecognized field or kind is drift
|
|
7
|
+
* in someone else's file rather than an error in the user's setup.
|
|
8
|
+
*
|
|
9
|
+
* Liberality alone would be blindness, so each registry pairs its schema with a
|
|
10
|
+
* detector built from these helpers. Everything the detectors find is reported by
|
|
11
|
+
* the validator under the one `REGISTRY_SHAPE_DRIFT` code, at `info`.
|
|
12
|
+
*/
|
|
13
|
+
/** One thing in a registry that VAT's model does not recognize. */
|
|
14
|
+
export interface RegistryShapeDrift {
|
|
15
|
+
/** Dotted pointer to the unrecognized field, or to the field carrying an unrecognized value. */
|
|
16
|
+
field: string;
|
|
17
|
+
/** Human-readable description of what was not recognized. */
|
|
18
|
+
message: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Drift accumulator, keyed by message rather than by pointer.
|
|
22
|
+
*
|
|
23
|
+
* The point of a drift observation is "Claude Code writes something new", not
|
|
24
|
+
* "it wrote it 28 times" — so a registry whose every entry gained one field
|
|
25
|
+
* yields one observation, carrying the first pointer that exhibited it.
|
|
26
|
+
*/
|
|
27
|
+
export type RegistryDriftRecord = Map<string, RegistryShapeDrift>;
|
|
28
|
+
/**
|
|
29
|
+
* Narrow a value to a plain object (arrays and `null` excluded).
|
|
30
|
+
*
|
|
31
|
+
* @param value - Candidate value from parsed registry JSON
|
|
32
|
+
* @returns True when the value can be key-walked
|
|
33
|
+
*/
|
|
34
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
35
|
+
/**
|
|
36
|
+
* Record one drift observation, keeping the first pointer seen for its message.
|
|
37
|
+
*
|
|
38
|
+
* @param record - Accumulator to add to
|
|
39
|
+
* @param field - Dotted pointer to the unrecognized field
|
|
40
|
+
* @param message - Description of what was not recognized
|
|
41
|
+
*/
|
|
42
|
+
export declare function recordDrift(record: RegistryDriftRecord, field: string, message: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Record every key of `value` that is not in `knownKeys`.
|
|
45
|
+
*
|
|
46
|
+
* @param value - Object to walk
|
|
47
|
+
* @param knownKeys - Keys VAT's model recognizes
|
|
48
|
+
* @param pointer - Dotted pointer to `value`, or `''` when it is the registry root
|
|
49
|
+
* @param describe - Builds the observation message for an unrecognized key
|
|
50
|
+
* @param record - Accumulator to add to
|
|
51
|
+
*/
|
|
52
|
+
export declare function recordUnknownKeys(value: Record<string, unknown>, knownKeys: ReadonlySet<string>, pointer: string, describe: (key: string) => string, record: RegistryDriftRecord): void;
|
|
53
|
+
//# sourceMappingURL=registry-drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-drift.d.ts","sourceRoot":"","sources":["../../src/schemas/registry-drift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EACjC,MAAM,EAAE,mBAAmB,GAC1B,IAAI,CAMN"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared primitives for reporting what a liberally-parsed registry absorbed.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code owns `installed_plugins.json` and `known_marketplaces.json`; VAT only
|
|
5
|
+
* reads them. Per VAT's Postel's Law rule (CLAUDE.md: "Reading outside world →
|
|
6
|
+
* liberal") both schemas `.passthrough()`, so an unrecognized field or kind is drift
|
|
7
|
+
* in someone else's file rather than an error in the user's setup.
|
|
8
|
+
*
|
|
9
|
+
* Liberality alone would be blindness, so each registry pairs its schema with a
|
|
10
|
+
* detector built from these helpers. Everything the detectors find is reported by
|
|
11
|
+
* the validator under the one `REGISTRY_SHAPE_DRIFT` code, at `info`.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Narrow a value to a plain object (arrays and `null` excluded).
|
|
15
|
+
*
|
|
16
|
+
* @param value - Candidate value from parsed registry JSON
|
|
17
|
+
* @returns True when the value can be key-walked
|
|
18
|
+
*/
|
|
19
|
+
export function isRecord(value) {
|
|
20
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Record one drift observation, keeping the first pointer seen for its message.
|
|
24
|
+
*
|
|
25
|
+
* @param record - Accumulator to add to
|
|
26
|
+
* @param field - Dotted pointer to the unrecognized field
|
|
27
|
+
* @param message - Description of what was not recognized
|
|
28
|
+
*/
|
|
29
|
+
export function recordDrift(record, field, message) {
|
|
30
|
+
if (!record.has(message)) {
|
|
31
|
+
record.set(message, { field, message });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Record every key of `value` that is not in `knownKeys`.
|
|
36
|
+
*
|
|
37
|
+
* @param value - Object to walk
|
|
38
|
+
* @param knownKeys - Keys VAT's model recognizes
|
|
39
|
+
* @param pointer - Dotted pointer to `value`, or `''` when it is the registry root
|
|
40
|
+
* @param describe - Builds the observation message for an unrecognized key
|
|
41
|
+
* @param record - Accumulator to add to
|
|
42
|
+
*/
|
|
43
|
+
export function recordUnknownKeys(value, knownKeys, pointer, describe, record) {
|
|
44
|
+
for (const key of Object.keys(value)) {
|
|
45
|
+
if (!knownKeys.has(key)) {
|
|
46
|
+
recordDrift(record, pointer === '' ? key : `${pointer}.${key}`, describe(key));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=registry-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-drift.js","sourceRoot":"","sources":["../../src/schemas/registry-drift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA2B,EAC3B,KAAa,EACb,OAAe;IAEf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,SAA8B,EAC9B,OAAe,EACf,QAAiC,EACjC,MAA2B;IAE3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/skill-packager.d.ts
CHANGED
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
* Uses ResourceRegistry + transformContent() from @vibe-agent-toolkit/resources
|
|
15
15
|
* for link resolution and rewriting (replacing the previous inline regex approach).
|
|
16
16
|
*/
|
|
17
|
-
import { type ValidationConfig, type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
17
|
+
import { type AllowUsageLedger, type ValidationConfig, type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
18
18
|
import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
|
|
19
19
|
import { type GitTracker } from '@vibe-agent-toolkit/utils';
|
|
20
20
|
import { type SkillFileEntry } from './files-config.js';
|
|
21
|
+
import { type DeclaredEvalSuite } from './test-input.js';
|
|
21
22
|
import { type PackagingValidationResult, type SkillPackagingConfig } from './validators/packaging-validator.js';
|
|
22
23
|
/**
|
|
23
24
|
* Resource naming strategy type
|
|
@@ -137,6 +138,21 @@ export interface PackageSkillOptions {
|
|
|
137
138
|
* never ship.
|
|
138
139
|
*/
|
|
139
140
|
testInputDirs?: string[] | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* The RUN's allow-entry usage ledger.
|
|
143
|
+
*
|
|
144
|
+
* `validation.allow` is declared once per package but evaluated once per
|
|
145
|
+
* skill AND once per lane, so "this entry matched nothing" is a question only
|
|
146
|
+
* the whole invocation can answer. A caller that builds more than one skill,
|
|
147
|
+
* or that validates the SOURCE tree before packaging (`vat build` does both),
|
|
148
|
+
* MUST supply one ledger for the whole invocation and drain it itself with
|
|
149
|
+
* `allowUnusedIssues()` after the last skill.
|
|
150
|
+
*
|
|
151
|
+
* Omitting it is a positive claim that THIS `packageSkill` call is the whole
|
|
152
|
+
* run — true for single-skill library callers, who get the run-level verdict
|
|
153
|
+
* folded into `postBuildIssues` here. It is false for anything that loops.
|
|
154
|
+
*/
|
|
155
|
+
allowLedger?: AllowUsageLedger | undefined;
|
|
140
156
|
}
|
|
141
157
|
/**
|
|
142
158
|
* Map a merged {@link SkillPackagingConfig} onto {@link PackageSkillOptions}.
|
|
@@ -144,11 +160,18 @@ export interface PackageSkillOptions {
|
|
|
144
160
|
* The single canonical conversion used by BOTH `vat skills build` and
|
|
145
161
|
* `vat skill test` (the pool build), so the dist a test exercises is byte-for-byte
|
|
146
162
|
* what `vat skills build` would produce. `basePath` defaults to `dirname(skillPath)`.
|
|
163
|
+
*
|
|
164
|
+
* `projectSkills` is EVERY skill the project declares, with its effective packaging
|
|
165
|
+
* config — assembled ONCE per invocation by the calling lane and passed down, never
|
|
166
|
+
* recomputed per skill (a per-skill walk of the whole project config is an N+1 this
|
|
167
|
+
* repo has been bitten by). It is required rather than defaulted because the test-input
|
|
168
|
+
* rule is project-wide: omitting it silently packages another skill's eval answer key.
|
|
169
|
+
* A lane with genuinely no project to enumerate passes `[]` explicitly.
|
|
147
170
|
*/
|
|
148
171
|
export declare function packagingConfigToPackageOptions(config: SkillPackagingConfig, anchors: {
|
|
149
172
|
skillPath: string;
|
|
150
173
|
outputPath: string;
|
|
151
|
-
}): PackageSkillOptions;
|
|
174
|
+
}, projectSkills: readonly DeclaredEvalSuite[]): PackageSkillOptions;
|
|
152
175
|
export interface SkillMetadata {
|
|
153
176
|
name: string;
|
|
154
177
|
description?: string;
|
|
@@ -202,6 +225,24 @@ export interface SkillBuildSpec {
|
|
|
202
225
|
/** Packaging options for this skill */
|
|
203
226
|
options: PackageSkillOptions;
|
|
204
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* What ONE skill in a `packageSkills` batch produced.
|
|
230
|
+
*
|
|
231
|
+
* A discriminated union rather than a nullable result, because a skill that
|
|
232
|
+
* threw produced no output path, no metadata and no file list — a synthetic
|
|
233
|
+
* `PackageSkillResult` for it would have to invent all three, and every
|
|
234
|
+
* consumer reading `files.dependencies.length` would then report a file count
|
|
235
|
+
* for a bundle that does not exist on disk.
|
|
236
|
+
*/
|
|
237
|
+
export type SkillPackageOutcome = {
|
|
238
|
+
status: 'built';
|
|
239
|
+
skillPath: string;
|
|
240
|
+
result: PackageSkillResult;
|
|
241
|
+
} | {
|
|
242
|
+
status: 'failed';
|
|
243
|
+
skillPath: string;
|
|
244
|
+
error: Error;
|
|
245
|
+
};
|
|
205
246
|
/**
|
|
206
247
|
* Package multiple skills with a shared ResourceRegistry.
|
|
207
248
|
*
|
|
@@ -209,9 +250,36 @@ export interface SkillBuildSpec {
|
|
|
209
250
|
* then packages each skill against the shared registry. This eliminates
|
|
210
251
|
* redundant I/O when building multiple skills from the same project.
|
|
211
252
|
*
|
|
253
|
+
* **One skill's failure never discards the batch.** `packageSkill` reports most
|
|
254
|
+
* problems by RETURNING a result whose `hasErrors` is set, which callers already
|
|
255
|
+
* degrade gracefully on — but it also THROWS on structural packaging failures
|
|
256
|
+
* (an absent or unreadable `files:` source). Letting that throw escape the loop
|
|
257
|
+
* made the two failure paths behave in opposite ways through one contract:
|
|
258
|
+
* measured on a 90-skill project, one such failure discarded 89 completed builds
|
|
259
|
+
* and collapsed the whole report into a single string. Each iteration is
|
|
260
|
+
* therefore contained and reported as a `failed` outcome instead.
|
|
261
|
+
*
|
|
262
|
+
* A filename collision is NOT one of the throwing paths — it is a returned
|
|
263
|
+
* `FILENAME_COLLISION` finding. Do not reach for a collision as the fixture when
|
|
264
|
+
* testing this containment: the loop completes normally either way, so such a
|
|
265
|
+
* test passes whether or not the containment exists.
|
|
266
|
+
*
|
|
267
|
+
* The registry build is deliberately OUTSIDE the containment: it is the run's
|
|
268
|
+
* shared prerequisite, so its failure really does doom every skill and must
|
|
269
|
+
* still propagate. Only per-skill work is contained.
|
|
270
|
+
*
|
|
212
271
|
* @param skills - Array of skill build specifications
|
|
213
272
|
* @param projectRoot - Absolute path to the project root directory
|
|
214
|
-
* @
|
|
273
|
+
* @param allowLedger - The RUN's allow-usage ledger. Required, not
|
|
274
|
+
* optional-with-a-default, for the same reason `runValidationFramework`'s is:
|
|
275
|
+
* this function loops, so it can never honestly conclude on its own that an
|
|
276
|
+
* allow entry matched nothing — an entry matched while building skill A is
|
|
277
|
+
* USED for the run. It is never drained here; the caller drains it once with
|
|
278
|
+
* `allowUnusedIssues()` after everything in the invocation has been seen
|
|
279
|
+
* (`vat build` also validates the SOURCE tree, whose matches count too).
|
|
280
|
+
* Containment does not change that: a skill that threw may still have matched
|
|
281
|
+
* allow entries before it threw, and those matches count for the run.
|
|
282
|
+
* @returns One outcome per input spec, in input order
|
|
215
283
|
*
|
|
216
284
|
* @example
|
|
217
285
|
* ```typescript
|
|
@@ -219,10 +287,12 @@ export interface SkillBuildSpec {
|
|
|
219
287
|
* { skillPath: '/project/skills/SKILL.md', options: { outputPath: '/out/skill-a' } },
|
|
220
288
|
* { skillPath: '/project/skills/SKILL2.md', options: { outputPath: '/out/skill-b' } },
|
|
221
289
|
* ];
|
|
222
|
-
* const
|
|
290
|
+
* const ledger = createAllowUsageLedger();
|
|
291
|
+
* const outcomes = await packageSkills(specs, '/project', ledger);
|
|
292
|
+
* const runIssues = allowUnusedIssues(ledger);
|
|
223
293
|
* ```
|
|
224
294
|
*/
|
|
225
|
-
export declare function packageSkills(skills: SkillBuildSpec[], projectRoot: string): Promise<
|
|
295
|
+
export declare function packageSkills(skills: SkillBuildSpec[], projectRoot: string, allowLedger: AllowUsageLedger): Promise<SkillPackageOutcome[]>;
|
|
226
296
|
/**
|
|
227
297
|
* Package a skill with all its dependencies
|
|
228
298
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-packager.d.ts","sourceRoot":"","sources":["../src/skill-packager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"skill-packager.d.ts","sourceRoot":"","sources":["../src/skill-packager.ts"],"names":[],"mappings":"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"}
|