@vibe-agent-toolkit/cli 0.2.0-rc.10 â 0.2.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/vat +5 -3
- package/dist/bin/vat.js +5 -3
- package/dist/bin/vat.js.map +1 -1
- package/dist/commands/ard/emit.d.ts +18 -6
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +82 -20
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +6 -2
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +35 -11
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude/context.d.ts +32 -0
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +59 -24
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/okf/index.d.ts.map +1 -1
- package/dist/commands/okf/index.js +8 -6
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate.d.ts +10 -6
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +18 -9
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +15 -2
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +35 -7
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-supervisor.d.ts +14 -0
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +14 -0
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +80 -53
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +185 -98
- package/dist/commands/resources/check.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +35 -23
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +1 -1
- package/dist/commands/resources/query.js +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +4 -3
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +6 -2
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/utils/command-error.d.ts +9 -4
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +14 -7
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +40 -3
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/projection-query.d.ts +1 -1
- package/dist/utils/resource-loader.d.ts +5 -3
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +5 -3
- package/dist/utils/resource-loader.js.map +1 -1
- package/docs/audit.md +3 -3
- package/package.json +16 -16
- package/schemas/ard-emit.json +4 -1
- package/schemas/resources-check.json +40 -12
|
@@ -239,10 +239,13 @@ Description:
|
|
|
239
239
|
Built-in checks (run with or without a config file):
|
|
240
240
|
${builtinCheckList()}
|
|
241
241
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
starting with *
|
|
242
|
+
Each later check covers the one before it. A rules file whose frontmatter
|
|
243
|
+
VAT cannot read puts no glob in claude_rule_patterns, so the inert check
|
|
244
|
+
cannot see its globs -- that is what the frontmatter check is for (the
|
|
245
|
+
usual cause is an unquoted glob starting with * , a YAML alias). A rules
|
|
246
|
+
file reached through a SYMLINK is realized at no path at all, so it has
|
|
247
|
+
neither pattern rows nor a blob and both of those checks pass on it --
|
|
248
|
+
that is what the link check is for.
|
|
246
249
|
|
|
247
250
|
They are TypeScript predicates over the projection's rows, never SQL, so
|
|
248
251
|
adding one never makes a query engine part of anybody's gate. Config only
|
|
@@ -270,8 +273,8 @@ Asking a built-in's question yourself:
|
|
|
270
273
|
${builtinSqlTwins()}
|
|
271
274
|
|
|
272
275
|
Note \`status = 'inert'\` and not \`status != 'matched'\`: 'unevaluated'
|
|
273
|
-
means vat never ran the matcher
|
|
274
|
-
budget), and 'gitignored' means the glob covers ignored files vat never
|
|
276
|
+
means vat never ran the matcher for that one pattern (it exhausted the
|
|
277
|
+
expansion budget; the rule's other patterns are still evaluated), and 'gitignored' means the glob covers ignored files vat never
|
|
275
278
|
reads but Claude Code does. Neither status means the glob is dead.
|
|
276
279
|
|
|
277
280
|
${DERIVED_RELATIONS_HELP}
|
|
@@ -364,10 +367,11 @@ A run that HANGS is killed and reported, not waited on:
|
|
|
364
367
|
So the work runs in a child process and --budget <seconds> bounds it.
|
|
365
368
|
|
|
366
369
|
The budget is time WITHOUT PROGRESS, not total runtime: the clock resets
|
|
367
|
-
every time the run finishes a unit (the
|
|
368
|
-
once more when the checks are done and the document
|
|
369
|
-
large repository with many rules is never at risk
|
|
370
|
-
finishing
|
|
370
|
+
every time the run finishes a unit (the child's startup, the population,
|
|
371
|
+
then each check, then once more when the checks are done and the document
|
|
372
|
+
is being built). So a large repository with many rules is never at risk
|
|
373
|
+
while its rules keep finishing, and a slow boot on a loaded machine is not
|
|
374
|
+
charged to the population. Default 300.
|
|
371
375
|
|
|
372
376
|
That per-unit property holds for the CHECKS. It does NOT hold for the
|
|
373
377
|
population, which reports progress only when it FINISHES -- so for that one
|
|
@@ -383,23 +387,27 @@ A run that HANGS is killed and reported, not waited on:
|
|
|
383
387
|
ways to be interrupted and they are reported differently:
|
|
384
388
|
|
|
385
389
|
Killed by the budget -- exit 1, status: findings, and a
|
|
386
|
-
RESOURCE_CHECK_BROKEN finding naming the
|
|
390
|
+
RESOURCE_CHECK_BROKEN finding naming the unit that was in flight (a named
|
|
391
|
+
check, or the document being built) and the bound that was blown.
|
|
387
392
|
|
|
388
393
|
Died -- the child ran out of memory materialising a result set (Node aborts
|
|
389
394
|
with SIGABRT), or something outside killed it (a runner's OOM killer sends
|
|
390
395
|
SIGKILL, a step timeout or a cancelled job sends SIGTERM), or it crashed in
|
|
391
|
-
native code (SIGSEGV), or it could not be started at all.
|
|
392
|
-
|
|
393
|
-
remedy that ending actually earns, and
|
|
394
|
-
is not it.
|
|
396
|
+
native code (SIGSEGV), or it could not be started at all. Once the
|
|
397
|
+
population is in, also exit 1, status: findings, RESOURCE_CHECK_BROKEN --
|
|
398
|
+
naming what ended it, with the remedy that ending actually earns, and
|
|
399
|
+
saying plainly that raising --budget is not it.
|
|
395
400
|
|
|
396
401
|
Either way the checks that COMPLETED keep their entry under checks (including
|
|
397
402
|
rows), but their individual violations are NOT in issues -- the progress the
|
|
398
403
|
child records is costs, not findings. Read that issue list as incomplete.
|
|
399
404
|
|
|
400
|
-
Interrupted before the population finished
|
|
401
|
-
|
|
402
|
-
|
|
405
|
+
Interrupted before the population finished -- killed or dead during the
|
|
406
|
+
child's startup or its population -- nothing was examined, so the command
|
|
407
|
+
could not do its job: exit 2, status: error. The document is still
|
|
408
|
+
published, with data.population, populationSecs, lensSecs and
|
|
409
|
+
lensesEvaluated null, examined 0, and \`error\` naming the phase and which
|
|
410
|
+
of the two happened.
|
|
403
411
|
|
|
404
412
|
--budget cannot be combined with --cost-log (exit 2): --cost-log means the
|
|
405
413
|
work runs in this process, where the budget could not be enforced.
|
|
@@ -441,7 +449,9 @@ Output Fields (the shared report envelope; schema: packages/cli/schemas/resource
|
|
|
441
449
|
What the shared population cost, and where it came from. NOT
|
|
442
450
|
charged to any check: every check's durationSecs is its own
|
|
443
451
|
statement and nothing else, so populationSecs + lensSecs are the
|
|
444
|
-
terms that reconcile them against durationMs
|
|
452
|
+
terms that reconcile them against durationMs. Null (all of them,
|
|
453
|
+
with lensesEvaluated) only on a run interrupted before its
|
|
454
|
+
population completed
|
|
445
455
|
data.lensesEvaluated:
|
|
446
456
|
Which lenses lensSecs covers -- those whose relations some check
|
|
447
457
|
names. Empty means no check read a derived relation
|
|
@@ -449,12 +459,14 @@ Output Fields (the shared report envelope; schema: packages/cli/schemas/resource
|
|
|
449
459
|
Exit Codes:
|
|
450
460
|
0 - No error-severity findings
|
|
451
461
|
1 - At least one (a violation, a broken check, an empty corpus, no check
|
|
452
|
-
having run at all, a run killed
|
|
453
|
-
or
|
|
462
|
+
having run at all, or a run killed by --budget or DEAD while a check
|
|
463
|
+
was running or its document was being built)
|
|
454
464
|
2 - System error, an unknown --check name, a [path] that names no directory,
|
|
455
465
|
an unusable --budget (an empty one, one that means zero without being
|
|
456
|
-
written 0, or one passed with --cost-log), or a run
|
|
457
|
-
its population completed
|
|
466
|
+
written 0, or one passed with --cost-log), or a run killed or dead
|
|
467
|
+
before its population completed
|
|
468
|
+
The code is derived from the document's status and summary, never chosen
|
|
469
|
+
beside it: status error is 2, error-severity findings are 1.
|
|
458
470
|
|
|
459
471
|
Examples:
|
|
460
472
|
$ vat resources check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* ## Why a query verb at all, when `scan` already reports counts
|
|
5
5
|
*
|
|
6
6
|
* `vat resources scan` answers the questions its payload was written for, and
|
|
7
|
-
* nothing else. The projection holds
|
|
7
|
+
* nothing else. The projection holds a table per fact kind â realizations, references,
|
|
8
8
|
* sections, conditions, provenance, rule patterns â and every question nobody
|
|
9
9
|
* anticipated currently has no answer short of writing a new command. This verb
|
|
10
10
|
* is the general case: one statement, the rows it selects, no new field.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* ## Why a query verb at all, when `scan` already reports counts
|
|
5
5
|
*
|
|
6
6
|
* `vat resources scan` answers the questions its payload was written for, and
|
|
7
|
-
* nothing else. The projection holds
|
|
7
|
+
* nothing else. The projection holds a table per fact kind â realizations, references,
|
|
8
8
|
* sections, conditions, provenance, rule patterns â and every question nobody
|
|
9
9
|
* anticipated currently has no answer short of writing a new command. This verb
|
|
10
10
|
* is the general case: one statement, the rows it selects, no new field.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD,mDAAmD;AACnD,eAAO,MAAM,qBAAqB;;IAEhC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejC;;;;OAIG;;;QA5BH,sFAAsF;;QAEtF,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4B5D,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,uCAAuC;AACvC,eAAO,MAAM,0BAA0B;;IA1BrC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejC;;;;OAIG;;;QA5BH,sFAAsF;;QAEtF,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCM,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6BxD;AA4FD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC,GACjE,iBAAiB,CAwBnB;AAYD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD,mDAAmD;AACnD,eAAO,MAAM,qBAAqB;;IAEhC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejC;;;;OAIG;;;QA5BH,sFAAsF;;QAEtF,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4B5D,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,uCAAuC;AACvC,eAAO,MAAM,0BAA0B;;IA1BrC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejC;;;;OAIG;;;QA5BH,sFAAsF;;QAEtF,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCM,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6BxD;AA4FD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC,GACjE,iBAAiB,CAwBnB;AAYD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAkDlD"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { existsSync, statSync } from 'node:fs';
|
|
13
13
|
import { dirname } from 'node:path';
|
|
14
14
|
import { resolveAnchorRoot, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
15
|
-
import { buildReport, calculateValidationStatus, countBySeverity,
|
|
15
|
+
import { buildReport, calculateValidationStatus, countBySeverity, exitCodeForReport, reportSchema, toFindings, } from '@vibe-agent-toolkit/schema';
|
|
16
16
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
17
17
|
import { Command } from 'commander';
|
|
18
18
|
import { z } from 'zod';
|
|
@@ -244,8 +244,9 @@ export async function reviewCommand(pathArg, options) {
|
|
|
244
244
|
// against, so one report speaks one coordinate system.
|
|
245
245
|
applyConfigVerdicts(result, packagingConfig?.targets, skillPath, resolveAnchorRoot(undefined, dirname(skillPath)));
|
|
246
246
|
const grouped = groupIssuesBySection(result.allErrors);
|
|
247
|
+
const report = buildReviewReport(result, skillPath, grouped);
|
|
247
248
|
if (options.yaml) {
|
|
248
|
-
writeYamlOutput({ ...
|
|
249
|
+
writeYamlOutput({ ...report, durationMs: Date.now() - startTime });
|
|
249
250
|
}
|
|
250
251
|
else {
|
|
251
252
|
renderHumanReport(result, skillPath, grouped, logger);
|
|
@@ -255,7 +256,7 @@ export async function reviewCommand(pathArg, options) {
|
|
|
255
256
|
// construction. Errors fail; warnings fail only under `--strict` â this
|
|
256
257
|
// used to exit 1 on a warning while every sibling exited 1 on errors only,
|
|
257
258
|
// so the one verb meant for a human's review was the strictest gate.
|
|
258
|
-
process.exit(
|
|
259
|
+
process.exit(exitCodeForReport(report, { strict: options.strict === true }));
|
|
259
260
|
}
|
|
260
261
|
catch (error) {
|
|
261
262
|
handleReportCommandError(error, logger, startTime, 'SkillReview');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAE1B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAE1B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,UAAU,GAGX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAC3H,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAS/B,+GAA+G;AAC/G,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,sFAAsF;IACtF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,iCAAiC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACtD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAC,MAAM,EAAE,CAAC;KACb,CAAC,CAAC,MAAM,EAAE;IACX;;;;OAIG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACvC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,uCAAuC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAI9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6DAA6D,OAAO,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,qFAAqF,CAChI,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,MAAkC;IAElC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/E,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,MAAiC,EACjC,SAAiB,EACjB,OAAiD,EACjD,MAAc;IAEd,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CACT,YAAY,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,IAAI,OAAO,CACzF,CAAC;IACF,MAAM,CAAC,IAAI,CACT,aAAa,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAoB,MAAM,CAAC,QAAQ,CAAC,UAAU,uBAAuB,MAAM,CAAC,QAAQ,CAAC,SAAS,UAAU,CAChJ,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAElE,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC9E,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,WAAW,CAAC,KAAsB,EAAE,MAAc;IACzD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiC,EACjC,SAAiB,EACjB,OAAkE;IAElE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO;QACP,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxE,MAAM,EAAE,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;KAC7C,CAAC,CAAC,CAAC;IACJ,OAAO,WAAW,CAAkB;QAClC,QAAQ,EAAE,CAAC;QACX,QAAQ;QACR,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACtE,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;iBAC1F,CAAC,CAAC;aACJ;YACD,QAAQ;SACT;KACF,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,MAAiC,EAAE,MAAc;IACrE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;IACnF,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA2B,EAC3B,OAAkC;IAElC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QAED,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,4DAA4D;QAC5D,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QAEpD,sEAAsE;QACtE,wEAAwE;QACxE,8DAA8D;QAC9D,sCAAsC;QACtC,MAAM,eAAe,GAAG,CAAC,MAAM,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;QAC9F,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE;YACnF,aAAa,EAAE,MAAM,gCAAgC,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC1E,uEAAuE;YACvE,+DAA+D;YAC/D,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,uEAAuE;QACvE,uEAAuE;QACvE,uDAAuD;QACvD,mBAAmB,CACjB,MAAM,EACN,eAAe,EAAE,OAAwC,EACzD,SAAS,EACT,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CACjD,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7B,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,iFAAiF,CAAC;SAC9F,QAAQ,CAAC,QAAQ,EAAE,8FAA8F,CAAC;SAClH,MAAM,CAAC,QAAQ,EAAE,2DAA2D,CAAC;SAC7E,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;SAC1D,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,aAAa,CAAC;SACrB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCL,CACI,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-guard.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/scope-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"scope-guard.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/scope-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,sFAAsF;AACtF,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAEhE,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAeR;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CASN"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { existsSync, statSync } from 'node:fs';
|
|
15
15
|
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
16
16
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
17
|
+
import { handleExpectedFailure } from '../../utils/command-error.js';
|
|
17
18
|
/** The name `loadConfig` looks for in the directory these commands are pointed at. */
|
|
18
19
|
export const CONFIG_FILENAME = 'vibe-agent-toolkit.config.yaml';
|
|
19
20
|
/**
|
|
@@ -78,7 +79,10 @@ export function rejectUnscopablePath(subject, pathArg) {
|
|
|
78
79
|
const reason = unscopableSkillsPath(pathArg);
|
|
79
80
|
if (reason === undefined)
|
|
80
81
|
return;
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
// Through the shared failure ending, so the refusal PUBLISHES its document
|
|
83
|
+
// (`status: error`) on stdout as every other ending of these commands does â
|
|
84
|
+
// it used to write only stderr, and a wrapper reading stdout got zero bytes.
|
|
85
|
+
// Neither command offers `--format`, so the document is YAML like its report.
|
|
86
|
+
handleExpectedFailure(unscopablePathMessage(subject, String(pathArg), reason).trimEnd(), ExitCode.ERROR, Date.now());
|
|
83
87
|
}
|
|
84
88
|
//# sourceMappingURL=scope-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-guard.js","sourceRoot":"","sources":["../../../src/commands/skills/scope-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAmBhE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,iBAAiB,CAAC;IAEhE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,eAAe,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA2B,EAC3B,OAAe,EACf,MAAc;IAEd,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC3C,OAAO,CACL,WAAW,OAAO,sBAAsB,OAAO,MAAM,MAAM,MAAM;QACjE,IAAI;QACJ,MAAM,OAAO,sBAAsB,eAAe,2BAA2B;QAC7E,wEAAwE;QACxE,sCAAsC,aAAa,yBAAyB;QAC5E,wEAAwE;QACxE,eAAe;QACf,IAAI;QACJ,iBAAiB,OAAO,8BAA8B,eAAe,KAAK;QAC1E,8DAA8D;QAC9D,0EAA0E,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA2B,EAC3B,OAA2B;IAE3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IAEjC,
|
|
1
|
+
{"version":3,"file":"scope-guard.js","sourceRoot":"","sources":["../../../src/commands/skills/scope-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAmBhE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,iBAAiB,CAAC;IAEhE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,eAAe,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA2B,EAC3B,OAAe,EACf,MAAc;IAEd,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC3C,OAAO,CACL,WAAW,OAAO,sBAAsB,OAAO,MAAM,MAAM,MAAM;QACjE,IAAI;QACJ,MAAM,OAAO,sBAAsB,eAAe,2BAA2B;QAC7E,wEAAwE;QACxE,sCAAsC,aAAa,yBAAyB;QAC5E,wEAAwE;QACxE,eAAe;QACf,IAAI;QACJ,iBAAiB,OAAO,8BAA8B,eAAe,KAAK;QAC1E,8DAA8D;QAC9D,0EAA0E,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA2B,EAC3B,OAA2B;IAE3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IAEjC,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,qBAAqB,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACvH,CAAC"}
|
|
@@ -115,16 +115,21 @@ export declare function handleExpectedFailure(message: string, exitCode: ExitCod
|
|
|
115
115
|
export declare function handleReportCommandError(error: unknown, logger: Logger, startTime: number, commandName: string, format?: string | undefined): never;
|
|
116
116
|
/**
|
|
117
117
|
* {@link handleExpectedFailure} for a command whose document is the shared
|
|
118
|
-
* `Report<T>` envelope â same document as {@link handleReportCommandError}
|
|
119
|
-
*
|
|
118
|
+
* `Report<T>` envelope â same document as {@link handleReportCommandError}.
|
|
119
|
+
*
|
|
120
|
+
* ð No exit-code parameter, deliberately. The document is the envelope's
|
|
121
|
+
* ERROR branch, so its code is {@link exitCodeForReport}'s answer for it: 2.
|
|
122
|
+
* It used to take the code from the caller, and `vat ard emit` passed 1 â a
|
|
123
|
+
* document saying "could not do its job" beside a code saying "the project
|
|
124
|
+
* failed its gate". An outcome that is a finding about the project is
|
|
125
|
+
* published as a finding, not through here.
|
|
120
126
|
*
|
|
121
127
|
* @param message - What went wrong, in the command's own words
|
|
122
|
-
* @param exitCode - The code this command's `--help` assigns to this outcome
|
|
123
128
|
* @param startTime - Command start time (from Date.now())
|
|
124
129
|
* @param format - What the operator asked for: `json`, or anything else (and
|
|
125
130
|
* omitted) for YAML
|
|
126
131
|
*/
|
|
127
|
-
export declare function handleReportExpectedFailure(message: string,
|
|
132
|
+
export declare function handleReportExpectedFailure(message: string, startTime: number, format?: string | undefined): never;
|
|
128
133
|
/** The payload a command publishes when its own validation gate stops it. */
|
|
129
134
|
export interface ValidationGateFailure {
|
|
130
135
|
status: 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAoF,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7L,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,oBAAoB,CAQtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,KAAK,CAGP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,KAAK,CAQP;AAkBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,KAAK,CAIP;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,KAAK,CAIP;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,qBAAqB,CAEvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,KAAK,CAGP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,GAAG,aAAa,CAEnF"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* still names its code from `ExitCode`; the lint rule
|
|
10
10
|
* `no-literal-process-exit` refuses a bare number.
|
|
11
11
|
*/
|
|
12
|
-
import { ExitCode, buildErrorReport, countBySeverity, errorDiagnostics } from '@vibe-agent-toolkit/schema';
|
|
12
|
+
import { ExitCode, buildErrorReport, countBySeverity, errorDiagnostics, exitCodeForReport } from '@vibe-agent-toolkit/schema';
|
|
13
13
|
import { writeJsonOutput, writeYamlOutput } from './output.js';
|
|
14
14
|
/**
|
|
15
15
|
* Format duration for human readability
|
|
@@ -149,22 +149,29 @@ function publishFailure(document, format, exitCode) {
|
|
|
149
149
|
*/
|
|
150
150
|
export function handleReportCommandError(error, logger, startTime, commandName, format) {
|
|
151
151
|
const { error: message } = reportCommandError(error, logger, startTime, commandName);
|
|
152
|
-
|
|
152
|
+
const report = buildErrorReport(message, Date.now() - startTime);
|
|
153
|
+
return publishFailure(report, format, exitCodeForReport(report));
|
|
153
154
|
}
|
|
154
155
|
/**
|
|
155
156
|
* {@link handleExpectedFailure} for a command whose document is the shared
|
|
156
|
-
* `Report<T>` envelope â same document as {@link handleReportCommandError}
|
|
157
|
-
*
|
|
157
|
+
* `Report<T>` envelope â same document as {@link handleReportCommandError}.
|
|
158
|
+
*
|
|
159
|
+
* ð No exit-code parameter, deliberately. The document is the envelope's
|
|
160
|
+
* ERROR branch, so its code is {@link exitCodeForReport}'s answer for it: 2.
|
|
161
|
+
* It used to take the code from the caller, and `vat ard emit` passed 1 â a
|
|
162
|
+
* document saying "could not do its job" beside a code saying "the project
|
|
163
|
+
* failed its gate". An outcome that is a finding about the project is
|
|
164
|
+
* published as a finding, not through here.
|
|
158
165
|
*
|
|
159
166
|
* @param message - What went wrong, in the command's own words
|
|
160
|
-
* @param exitCode - The code this command's `--help` assigns to this outcome
|
|
161
167
|
* @param startTime - Command start time (from Date.now())
|
|
162
168
|
* @param format - What the operator asked for: `json`, or anything else (and
|
|
163
169
|
* omitted) for YAML
|
|
164
170
|
*/
|
|
165
|
-
export function handleReportExpectedFailure(message,
|
|
171
|
+
export function handleReportExpectedFailure(message, startTime, format) {
|
|
166
172
|
process.stderr.write(`${message}\n`);
|
|
167
|
-
|
|
173
|
+
const report = buildErrorReport(message, Date.now() - startTime);
|
|
174
|
+
return publishFailure(report, format, exitCodeForReport(report));
|
|
168
175
|
}
|
|
169
176
|
/**
|
|
170
177
|
* Pure: the document {@link handleValidationGateFailure} writes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-error.js","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAiE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"command-error.js","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus-target.d.ts","sourceRoot":"","sources":["../../src/utils/corpus-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"corpus-target.d.ts","sourceRoot":"","sources":["../../src/utils/corpus-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsCH;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,MAAM,CAcR"}
|
|
@@ -11,7 +11,40 @@
|
|
|
11
11
|
* back ABSOLUTE, not `..`-prefixed) is tested once, there, with the string
|
|
12
12
|
* Windows really produces.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { dirname } from 'node:path';
|
|
15
|
+
import { canonicalPath, relativeEscapesRoot, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
16
|
+
/**
|
|
17
|
+
* The argument's root-relative spelling, or `undefined` when no ancestor of it
|
|
18
|
+
* IS the root.
|
|
19
|
+
*
|
|
20
|
+
* ðŠĪ The root is discovered from `process.cwd()`, which the OS hands back
|
|
21
|
+
* PHYSICAL â macOS `/tmp/x` arrives as `/private/tmp/x` â while an argument is
|
|
22
|
+
* taken as typed. Comparing the two lexically refused `vat claude context
|
|
23
|
+
* /tmp/x/sub` run from `/tmp/x` as "outside the corpus root /private/tmp/x".
|
|
24
|
+
* So the PREFIX is compared canonically: the argument's ancestors are walked
|
|
25
|
+
* from the top down, and the first whose canonical spelling is the root's
|
|
26
|
+
* canonical spelling is where the root sits in what was typed.
|
|
27
|
+
*
|
|
28
|
+
* Only the prefix. The tail below the root stays as typed, because a query ON
|
|
29
|
+
* an in-root symlinked path is a question about that name (answered `unknown`
|
|
30
|
+
* â the lane realizes no symlink path), not about its target; canonicalizing
|
|
31
|
+
* the whole argument would silently answer for a different file. Top-down, so
|
|
32
|
+
* an in-root link pointing back at the root is not mistaken for the root.
|
|
33
|
+
*
|
|
34
|
+
* @param root - The discovered project root
|
|
35
|
+
* @param target - The absolute, resolved argument
|
|
36
|
+
*/
|
|
37
|
+
function relativeThroughRoot(root, target) {
|
|
38
|
+
const canonicalRoot = canonicalPath(root);
|
|
39
|
+
const ancestors = [];
|
|
40
|
+
for (let current = toForwardSlash(target);; current = toForwardSlash(dirname(current))) {
|
|
41
|
+
ancestors.unshift(current);
|
|
42
|
+
if (toForwardSlash(dirname(current)) === current)
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
const anchor = ancestors.find((ancestor) => canonicalPath(ancestor) === canonicalRoot);
|
|
46
|
+
return anchor === undefined ? undefined : safePath.relative(anchor, target);
|
|
47
|
+
}
|
|
15
48
|
/**
|
|
16
49
|
* The root-relative path to query, refusing anything outside the corpus.
|
|
17
50
|
*
|
|
@@ -24,8 +57,12 @@ import { relativeEscapesRoot, safePath } from '@vibe-agent-toolkit/utils';
|
|
|
24
57
|
* "nothing here" would be indistinguishable from a typo inside the tree
|
|
25
58
|
*/
|
|
26
59
|
export function targetPathWithin(root, pathArg, commandName) {
|
|
27
|
-
const
|
|
28
|
-
|
|
60
|
+
const target = safePath.resolve(process.cwd(), pathArg ?? '.');
|
|
61
|
+
const lexical = safePath.relative(root, target);
|
|
62
|
+
// The lexical answer first: it is the common case and costs no syscall. Only
|
|
63
|
+
// a spelling that escapes lexically is asked the filesystem's opinion.
|
|
64
|
+
const relative = relativeEscapesRoot(lexical) ? relativeThroughRoot(root, target) : lexical;
|
|
65
|
+
if (relative === undefined || relativeEscapesRoot(relative)) {
|
|
29
66
|
throw new Error(`${pathArg ?? process.cwd()} resolves outside the corpus root ${root}.`
|
|
30
67
|
+ ` ${commandName} answers only for paths inside the root it discovered â`
|
|
31
68
|
+ ' run it from within the project you mean to ask about.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus-target.js","sourceRoot":"","sources":["../../src/utils/corpus-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"corpus-target.js","sourceRoot":"","sources":["../../src/utils/corpus-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEzG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,MAAc;IACvD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,GAAI,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxF,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO;YAAE,MAAM;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,CAAC;IACvF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAA2B,EAC3B,WAAmB;IAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5F,IAAI,QAAQ,KAAK,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,qCAAqC,IAAI,GAAG;cACrE,IAAI,WAAW,yDAAyD;cACxE,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -201,7 +201,7 @@ export interface PopulationExtent {
|
|
|
201
201
|
*
|
|
202
202
|
* ðŠĪ Realizations rather than any other count, because every alternative
|
|
203
203
|
* fails to reach zero on the case that matters: `roots` always holds exactly
|
|
204
|
-
* one row (the invariant thrown for below), so a total over
|
|
204
|
+
* one row (the invariant thrown for below), so a total over every table
|
|
205
205
|
* is never 0; `blobs` is content-keyed and deduped, so it counts parse REACH
|
|
206
206
|
* and already has its own guard in `onBlobPopulation`; and `resources` counts
|
|
207
207
|
* identities, which a corpus can legitimately have none of while enumerating
|
|
@@ -98,9 +98,11 @@ export declare const RESOURCES_CRAWL_WALK = "walk";
|
|
|
98
98
|
* `LINK_BROKEN_FILE` is not reported on this lane.** That is a real loss, it is
|
|
99
99
|
* known, and it is the cost this default was accepted at; closing it is its own
|
|
100
100
|
* change (teaching an extent to admit `120000` entries as their own paths).
|
|
101
|
-
* The omission is no longer SILENT â each declined link is an `info`
|
|
102
|
-
*
|
|
103
|
-
*
|
|
101
|
+
* The omission is no longer SILENT â each declined link is an `info` row under
|
|
102
|
+
* one of the three declined-link codes (`EXTENT_SYMLINK_NOT_REALIZED`,
|
|
103
|
+
* `EXTENT_SYMLINK_TARGET_OUTSIDE_ROOT`, `EXTENT_SYMLINK_TARGET_UNRESOLVED` â the
|
|
104
|
+
* last is a dangling in-root target) â but no such row is a `LINK_BROKEN_FILE`
|
|
105
|
+
* finding.
|
|
104
106
|
* {@link RESOURCES_CRAWL_WALK} is the one-value escape hatch meanwhile.
|
|
105
107
|
*
|
|
106
108
|
* Read from the environment at each call rather than memoized at module load:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKL,gBAAgB,EAEhB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAE9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAmB,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC;;;;;;;;;OASG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;CACtC;AA0BD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1F;AA8DD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKL,gBAAgB,EAEhB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAE9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAmB,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC;;;;;;;;;OASG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;CACtC;AA0BD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1F;AA8DD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAE1D;AAsED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,4BAA4B,CAAC,CAAC,EAClD,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE,EACD,IAAI,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3E,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAwH7B"}
|
|
@@ -140,9 +140,11 @@ export const RESOURCES_CRAWL_WALK = 'walk';
|
|
|
140
140
|
* `LINK_BROKEN_FILE` is not reported on this lane.** That is a real loss, it is
|
|
141
141
|
* known, and it is the cost this default was accepted at; closing it is its own
|
|
142
142
|
* change (teaching an extent to admit `120000` entries as their own paths).
|
|
143
|
-
* The omission is no longer SILENT â each declined link is an `info`
|
|
144
|
-
*
|
|
145
|
-
*
|
|
143
|
+
* The omission is no longer SILENT â each declined link is an `info` row under
|
|
144
|
+
* one of the three declined-link codes (`EXTENT_SYMLINK_NOT_REALIZED`,
|
|
145
|
+
* `EXTENT_SYMLINK_TARGET_OUTSIDE_ROOT`, `EXTENT_SYMLINK_TARGET_UNRESOLVED` â the
|
|
146
|
+
* last is a dangling in-root target) â but no such row is a `LINK_BROKEN_FILE`
|
|
147
|
+
* finding.
|
|
146
148
|
* {@link RESOURCES_CRAWL_WALK} is the one-value escape hatch meanwhile.
|
|
147
149
|
*
|
|
148
150
|
* Read from the environment at each call rather than memoized at module load:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GAOjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA2C5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,8BAA8B,CAAC,MAAqB;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC5C,IAAI,QAAQ,KAAK,SAAS;QAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA0B,EAAE,MAAc;IAC9E,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,mBAAmB,CAC1B,OAAe,EACf,WAAmB,EACnB,MAAiC,EACjC,MAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElF,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1C,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,CAAC,IAAI,CACT,GAAG,QAAQ,2BAA2B,WAAW,IAAI;YACnD,uEAAuE,CAC1E,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACjE,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,mCAAmC;IACnC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAElC,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,qBAAqB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;QAC1E,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,QAAiB,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"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"}
|
package/docs/audit.md
CHANGED
|
@@ -235,7 +235,7 @@ The three-way contract every command shares:
|
|
|
235
235
|
|
|
236
236
|
- **0** - The audit completed with nothing at error severity. Warnings and informational findings are in the report, not the exit code.
|
|
237
237
|
- **1** - The audit completed and reports `status: error`: at least one error-severity finding, or zero files audited. A directory or file INSIDE the tree that the scan could not read â permission denied, a vanished mount â is `SCAN_PATH_UNREADABLE` (warning): the run is degraded, not failed, every readable sibling is still validated, and the refused path is reported under `summary.pathsUnreadable` rather than counted in `filesScanned` â so a root with nothing readable audited zero files and is refused like an empty tree. A governing `vibe-agent-toolkit.config.yaml` that cannot be loaded, or whose `skills.include` reaches a directory the crawl cannot list, is warned about once on stderr and filed as `SCAN_PATH_UNREADABLE` on the config file or the directory; the skills it governs are validated config-free rather than dropped. Degrading beats destroying, and the report says where it degraded.
|
|
238
|
-
- **2** - The audit could not run at all, so there is no report to read: the path does not exist or is a file no audit lane recognises (the same ending `vat resources validate` and `vat skill review` give that argument), `--user` with no Claude config directory installed, a git URL that could not be cloned, an unknown flag, or an internal failure (a validator defect). An invalid config and a permission problem inside the tree are **not** exit 2 â they are findings, above.
|
|
238
|
+
- **2** - The audit could not run at all, so there is no report to read: the path does not exist, is a directory the OS will not list, or is a file no audit lane recognises (the same ending `vat resources validate` and `vat skill review` give that argument), `--user` with no Claude config directory installed, a git URL that could not be cloned, an unknown flag, or an internal failure (a validator defect). An invalid config and a permission problem inside the tree are **not** exit 2 â they are findings, above.
|
|
239
239
|
|
|
240
240
|
## Validation Configuration
|
|
241
241
|
|
|
@@ -321,8 +321,8 @@ Warnings indicate potential issues but don't prevent usage:
|
|
|
321
321
|
| `SKILL_NAME_INVALID` | error | Name contains invalid characters | Use only letters, numbers, hyphens, underscores |
|
|
322
322
|
| `SKILL_DESCRIPTION_TOO_LONG` | error | Description exceeds 1024 characters (the frontmatter schema limit; `SKILL_DESCRIPTION_OVER_CLAUDE_CODE_LIMIT` warns earlier at 250, where the Claude Code `/skills` listing truncates) | Shorten description |
|
|
323
323
|
| `RESERVED_WORD_IN_NAME` | warning | Name contains `anthropic` or `claude`; Claude Code rejects non-certified skills using these words | Rename the skill to avoid these words |
|
|
324
|
-
| `SKILL_NAME_XML_TAGS` | error | Name contains
|
|
325
|
-
| `SKILL_DESCRIPTION_XML_TAGS` | error | Description contains
|
|
324
|
+
| `SKILL_NAME_XML_TAGS` | error | Name contains markup â a declaration (`<!--`, `<?`, `<![`), a closing or self-closing tag, an opening tag with an attribute, a bare `<word>` that is not part of a compound token, or a prompt-channel name (`<system>`, `<function_results>`) however joined | Remove the tag, or backtick a literal placeholder (backticks do not exempt real markup) |
|
|
325
|
+
| `SKILL_DESCRIPTION_XML_TAGS` | error | Description contains markup, judged the same way as the name | Remove the tag, or backtick a literal placeholder (backticks do not exempt real markup) |
|
|
326
326
|
| `SKILL_DESCRIPTION_EMPTY` | error | Description is empty or whitespace | Provide meaningful description |
|
|
327
327
|
| `SKILL_MISCONFIGURED_LOCATION` | error | Standalone skill in `~/.claude/plugins/` won't be recognized | Move to `~/.claude/skills/` for standalone skills, or add `.claude-plugin/plugin.json` for a proper plugin |
|
|
328
328
|
| `LINK_INTEGRITY_BROKEN` | error | Link to non-existent file | Fix or remove broken link |
|