@descent-vtt/spec-guard 0.6.0 → 0.8.0
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/CHANGELOG.md +132 -8
- package/README.md +191 -9
- package/dist/cli.d.ts +17 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +127 -7
- package/dist/cli.js.map +1 -1
- package/dist/glob.d.ts +25 -2
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +26 -9
- package/dist/glob.js.map +1 -1
- package/dist/index.d.ts +17 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +117 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +545 -0
- package/dist/mcp.js.map +1 -0
- package/dist/parser.d.ts +25 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +71 -15
- package/dist/parser.js.map +1 -1
- package/dist/query.d.ts +108 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +211 -0
- package/dist/query.js.map +1 -0
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +13 -4
- package/dist/reporter.js.map +1 -1
- package/dist/rules.d.ts +119 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +197 -0
- package/dist/rules.js.map +1 -0
- package/dist/runner.d.ts +19 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +289 -97
- package/dist/runner.js.map +1 -1
- package/dist/specs.d.ts +44 -0
- package/dist/specs.d.ts.map +1 -0
- package/dist/specs.js +62 -0
- package/dist/specs.js.map +1 -0
- package/dist/structure.d.ts +104 -0
- package/dist/structure.d.ts.map +1 -0
- package/dist/structure.js +253 -0
- package/dist/structure.js.map +1 -0
- package/dist/types.d.ts +33 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/mcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -50,6 +50,20 @@ export declare const INACTIVE_STATUSES: ReadonlySet<string>;
|
|
|
50
50
|
* fence - this project's README does - is not read as declaring a status.
|
|
51
51
|
*/
|
|
52
52
|
export declare function parseStatus(source: string): SpecStatus | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* The document's title: its first level-one heading.
|
|
55
|
+
*
|
|
56
|
+
* Read so that a rule can be shown with the decision it belongs to - "ADR-0011:
|
|
57
|
+
* Layering constraints and import cycles" says more to someone about to edit a
|
|
58
|
+
* file than `docs/adr/0011-layers-and-cycles.md` does. Front-matter is skipped
|
|
59
|
+
* and code is masked, for the same reasons as the status: a README that shows
|
|
60
|
+
* an example ADR inside a fence has not titled itself with the example.
|
|
61
|
+
*
|
|
62
|
+
* Setext headings (a line underlined with `===`) are not read. Nobody writes an
|
|
63
|
+
* ADR that way, and a reader that guessed at underlines would find titles in
|
|
64
|
+
* tables.
|
|
65
|
+
*/
|
|
66
|
+
export declare function parseTitle(source: string): string | undefined;
|
|
53
67
|
export interface ParseContext {
|
|
54
68
|
/** Absolute path of the spec file. */
|
|
55
69
|
file: string;
|
|
@@ -65,4 +79,15 @@ export declare function maskCode(source: string): string;
|
|
|
65
79
|
export declare function parseAttributes(input: string): Record<string, string>;
|
|
66
80
|
/** Extracts every spec-guard directive from a Markdown source string. */
|
|
67
81
|
export declare function parseDirectives(source: string, context: ParseContext): ParseResult;
|
|
82
|
+
/** A whole document: its directives, its status and its title. */
|
|
83
|
+
export interface ParsedDocument extends ParseResult {
|
|
84
|
+
title?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Everything a spec document declares, read with one pass of `maskCode`.
|
|
88
|
+
*
|
|
89
|
+
* `parseDirectives` and `parseTitle` each mask the source, and masking is most
|
|
90
|
+
* of what reading a spec costs; a caller that wants both should not pay twice.
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseDocument(source: string, context: ParseContext): ParsedDocument;
|
|
68
93
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAGV,aAAa,EACb,WAAW,EAEX,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,8CAA8C;AAC9C,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAGV,aAAa,EACb,WAAW,EAEX,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,8CAA8C;AAC9C,eAAO,MAAM,KAAK,aAShB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAuFzE,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAMhD,CAAC;AA+HH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElE;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAeD,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuD/C;AAMD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrE;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,WAAW,CAElF;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,cAAc,CAKnF"}
|
package/dist/parser.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* error rather than silently skipped - a typo must never turn into a
|
|
15
15
|
* silently-passing invariant.
|
|
16
16
|
*/
|
|
17
|
-
import { lineStarts, locate } from './text.js';
|
|
17
|
+
import { lineStarts, locate, maskRanges } from './text.js';
|
|
18
18
|
/** Every directive spec-guard understands. */
|
|
19
19
|
export const KINDS = new Set([
|
|
20
20
|
'assert-absence',
|
|
@@ -24,6 +24,7 @@ export const KINDS = new Set([
|
|
|
24
24
|
'assert-import-count',
|
|
25
25
|
'assert-import-cycle',
|
|
26
26
|
'assert-layers',
|
|
27
|
+
'assert-structure',
|
|
27
28
|
]);
|
|
28
29
|
/**
|
|
29
30
|
* Which attributes each directive accepts.
|
|
@@ -104,6 +105,22 @@ export const ALLOWED_ATTRIBUTES = {
|
|
|
104
105
|
'ratchet',
|
|
105
106
|
'reason',
|
|
106
107
|
]),
|
|
108
|
+
// No `types` or `comments`: a structure rule reads names, never contents.
|
|
109
|
+
'assert-structure': new Set([
|
|
110
|
+
'target',
|
|
111
|
+
'pattern',
|
|
112
|
+
'required',
|
|
113
|
+
'partner',
|
|
114
|
+
'dirs',
|
|
115
|
+
'glob',
|
|
116
|
+
'exclude',
|
|
117
|
+
'expected',
|
|
118
|
+
'max',
|
|
119
|
+
'allow-empty',
|
|
120
|
+
'baseline',
|
|
121
|
+
'ratchet',
|
|
122
|
+
'reason',
|
|
123
|
+
]),
|
|
107
124
|
};
|
|
108
125
|
/* --------------------------------------------------------------- the status */
|
|
109
126
|
/**
|
|
@@ -264,6 +281,33 @@ function statusOf(masked) {
|
|
|
264
281
|
const lines = toLines(masked);
|
|
265
282
|
return fromFrontmatter(masked) ?? fromHeading(lines) ?? fromLabel(lines);
|
|
266
283
|
}
|
|
284
|
+
/** An ATX heading of level 1, with any closing sequence taken off. */
|
|
285
|
+
const TITLE_RE = /^[ \t]{0,3}#[ \t]+(.*?)(?:[ \t]+#+)?[ \t]*$/;
|
|
286
|
+
/**
|
|
287
|
+
* The document's title: its first level-one heading.
|
|
288
|
+
*
|
|
289
|
+
* Read so that a rule can be shown with the decision it belongs to - "ADR-0011:
|
|
290
|
+
* Layering constraints and import cycles" says more to someone about to edit a
|
|
291
|
+
* file than `docs/adr/0011-layers-and-cycles.md` does. Front-matter is skipped
|
|
292
|
+
* and code is masked, for the same reasons as the status: a README that shows
|
|
293
|
+
* an example ADR inside a fence has not titled itself with the example.
|
|
294
|
+
*
|
|
295
|
+
* Setext headings (a line underlined with `===`) are not read. Nobody writes an
|
|
296
|
+
* ADR that way, and a reader that guessed at underlines would find titles in
|
|
297
|
+
* tables.
|
|
298
|
+
*/
|
|
299
|
+
export function parseTitle(source) {
|
|
300
|
+
return titleOf(maskCode(source));
|
|
301
|
+
}
|
|
302
|
+
function titleOf(masked) {
|
|
303
|
+
const body = masked.slice(FRONTMATTER_RE.exec(masked)?.[0].length ?? 0);
|
|
304
|
+
for (const line of toLines(body)) {
|
|
305
|
+
const title = TITLE_RE.exec(line)?.[1];
|
|
306
|
+
if (title)
|
|
307
|
+
return title;
|
|
308
|
+
}
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
267
311
|
const DIRECTIVE_RE = /<!--\s*@([a-zA-Z][\w-]*)([\s\S]*?)-->/g;
|
|
268
312
|
const ATTRIBUTE_RE = /([a-zA-Z][\w-]*)(?:\s*=\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|([^\s"'=<>`]+)))?/g;
|
|
269
313
|
/**
|
|
@@ -271,15 +315,13 @@ const ATTRIBUTE_RE = /([a-zA-Z][\w-]*)(?:\s*=\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|
|
|
|
271
315
|
* offset and newline so that reported line/column numbers stay exact.
|
|
272
316
|
*/
|
|
273
317
|
export function maskCode(source) {
|
|
274
|
-
//
|
|
275
|
-
//
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
};
|
|
318
|
+
// Ranges, blanked by `maskRanges`, rather than a character array blanked in
|
|
319
|
+
// place. The array was `source.split('')` - one string per UTF-16 unit - and
|
|
320
|
+
// measured at 7.2ms over this repository's 183KB of specs against 0.8ms for
|
|
321
|
+
// the ranges, with identical output on every one of them and on 50,000
|
|
322
|
+
// random inputs. It became worth measuring when `spec-guard query` put a
|
|
323
|
+
// budget on reading specs; see ADR-0012. Offsets still survive, for the reason
|
|
324
|
+
// `maskRanges` gives.
|
|
283
325
|
// Fenced code blocks: ``` or ~~~ (3+ markers), optionally indented up to 3 spaces.
|
|
284
326
|
const fenceRe = /^[ \t]{0,3}(`{3,}|~{3,})[^\n]*$/gm;
|
|
285
327
|
let match;
|
|
@@ -302,13 +344,13 @@ export function maskCode(source) {
|
|
|
302
344
|
}
|
|
303
345
|
}
|
|
304
346
|
consumed.push([open.index, closeEnd]);
|
|
305
|
-
blank(open.index, closeEnd);
|
|
306
347
|
}
|
|
307
348
|
// Inline code spans, using CommonMark's rule: a run of N backticks is closed
|
|
308
349
|
// by the next run of EXACTLY N backticks. Runs of a different length are
|
|
309
350
|
// skipped rather than treated as a closer - otherwise a stray ``` inside a
|
|
310
351
|
// sentence shifts every later pairing by one and un-masks real prose.
|
|
311
|
-
const masked =
|
|
352
|
+
const masked = maskRanges(source, consumed);
|
|
353
|
+
const spans = [];
|
|
312
354
|
const runs = [];
|
|
313
355
|
const runRe = /`+/g;
|
|
314
356
|
let run;
|
|
@@ -321,10 +363,10 @@ export function maskCode(source) {
|
|
|
321
363
|
if (closeIndex === -1)
|
|
322
364
|
continue;
|
|
323
365
|
const close = runs[closeIndex];
|
|
324
|
-
|
|
366
|
+
spans.push([open.index, close.index + close.length]);
|
|
325
367
|
index = closeIndex;
|
|
326
368
|
}
|
|
327
|
-
return
|
|
369
|
+
return maskRanges(masked, spans);
|
|
328
370
|
}
|
|
329
371
|
function unescape(value) {
|
|
330
372
|
return value.replace(/\\(.)/g, '$1');
|
|
@@ -343,9 +385,23 @@ export function parseAttributes(input) {
|
|
|
343
385
|
}
|
|
344
386
|
/** Extracts every spec-guard directive from a Markdown source string. */
|
|
345
387
|
export function parseDirectives(source, context) {
|
|
388
|
+
return directivesOf(source, maskCode(source), context);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Everything a spec document declares, read with one pass of `maskCode`.
|
|
392
|
+
*
|
|
393
|
+
* `parseDirectives` and `parseTitle` each mask the source, and masking is most
|
|
394
|
+
* of what reading a spec costs; a caller that wants both should not pay twice.
|
|
395
|
+
*/
|
|
396
|
+
export function parseDocument(source, context) {
|
|
397
|
+
const masked = maskCode(source);
|
|
398
|
+
const parsed = directivesOf(source, masked, context);
|
|
399
|
+
const title = titleOf(masked);
|
|
400
|
+
return title === undefined ? parsed : { ...parsed, title };
|
|
401
|
+
}
|
|
402
|
+
function directivesOf(source, masked, context) {
|
|
346
403
|
const directives = [];
|
|
347
404
|
const errors = [];
|
|
348
|
-
const masked = maskCode(source);
|
|
349
405
|
const starts = lineStarts(source);
|
|
350
406
|
DIRECTIVE_RE.lastIndex = 0;
|
|
351
407
|
let match;
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `spec-guard query`: the rules in force for a path, without running any.
|
|
3
|
+
*
|
|
4
|
+
* The question an agent - or a person - asks before touching a file is not
|
|
5
|
+
* "does the codebase pass" but "what am I allowed to do here". Answering it
|
|
6
|
+
* from CI means writing the code first and finding out afterwards, which for a
|
|
7
|
+
* model is a loop of generate, fail, read the log, regenerate. This answers it
|
|
8
|
+
* up front, from the specs alone, in the time it takes to read them. ADR-0012.
|
|
9
|
+
*/
|
|
10
|
+
import { type DocumentView, type QueryPath, type RuleView } from './rules.js';
|
|
11
|
+
import { type SpecDocument } from './specs.js';
|
|
12
|
+
import type { Assertion, DirectiveError } from './types.js';
|
|
13
|
+
export interface RuleSetOptions {
|
|
14
|
+
/** Globs or paths of the Markdown specs. */
|
|
15
|
+
patterns: readonly string[];
|
|
16
|
+
/** Absolute root the specs' paths are resolved against. */
|
|
17
|
+
root: string;
|
|
18
|
+
/** Count matches inside the spec files themselves, as `--include-specs` does. */
|
|
19
|
+
includeSpecs?: boolean;
|
|
20
|
+
/** Skip `.git`, `.hg`, `.svn` and `node_modules`, as a run does by default. */
|
|
21
|
+
defaultSkips?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/** Every rule the specs state, resolved, with the document that states it. */
|
|
24
|
+
export interface RuleSet {
|
|
25
|
+
root: string;
|
|
26
|
+
/** Root-relative paths of every spec file the patterns matched. */
|
|
27
|
+
specFiles: string[];
|
|
28
|
+
documents: SpecDocument[];
|
|
29
|
+
rules: Array<{
|
|
30
|
+
assertion: Assertion;
|
|
31
|
+
document: DocumentView;
|
|
32
|
+
}>;
|
|
33
|
+
/** Unreadable specs, malformed directives and directives that do not resolve. */
|
|
34
|
+
errors: DirectiveError[];
|
|
35
|
+
}
|
|
36
|
+
export declare function viewDocument(document: SpecDocument): DocumentView;
|
|
37
|
+
/**
|
|
38
|
+
* Reads and resolves every rule, in force or not.
|
|
39
|
+
*
|
|
40
|
+
* Resolution is the runner's own, so a query and a run cannot disagree about
|
|
41
|
+
* what a directive means - including about which directives are errors.
|
|
42
|
+
*/
|
|
43
|
+
export declare function loadRuleSet(options: RuleSetOptions): Promise<RuleSet>;
|
|
44
|
+
/** A path argument that cannot be asked about. */
|
|
45
|
+
export declare class QueryPathError extends Error {
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Turns a path as someone typed it into the path a rule is written against.
|
|
49
|
+
*
|
|
50
|
+
* Absolute paths are accepted as long as they are inside the root, because that
|
|
51
|
+
* is what an agent's file tools hand around. A path that does not exist is
|
|
52
|
+
* accepted too: "what rules will govern the file I am about to create" is the
|
|
53
|
+
* question this command exists for. It is a file unless it exists as a
|
|
54
|
+
* directory or is written with a trailing slash.
|
|
55
|
+
*/
|
|
56
|
+
export declare function resolveQueryPath(input: string, root: string): Promise<QueryPath & {
|
|
57
|
+
exists: boolean;
|
|
58
|
+
}>;
|
|
59
|
+
export interface PathRules {
|
|
60
|
+
path: string;
|
|
61
|
+
shape: QueryPath['shape'];
|
|
62
|
+
exists: boolean;
|
|
63
|
+
/** The rules that govern the path, in document order. */
|
|
64
|
+
rules: RuleView[];
|
|
65
|
+
/**
|
|
66
|
+
* Rules in documents not in force that would govern the path, and where.
|
|
67
|
+
*
|
|
68
|
+
* Counted whether or not they are listed. A rule that has stopped applying is
|
|
69
|
+
* the thing ADR-0010 says a report must never be quiet about, and an agent
|
|
70
|
+
* told "nothing governs this file" while a draft is about to govern it has
|
|
71
|
+
* been told something false by omission.
|
|
72
|
+
*/
|
|
73
|
+
withheld: {
|
|
74
|
+
rules: number;
|
|
75
|
+
documents: string[];
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface QueryReport {
|
|
79
|
+
root: string;
|
|
80
|
+
specFiles: string[];
|
|
81
|
+
results: PathRules[];
|
|
82
|
+
/** The documents behind the listed rules and the withheld counts, by path. */
|
|
83
|
+
documents: DocumentView[];
|
|
84
|
+
errors: Array<{
|
|
85
|
+
file: string;
|
|
86
|
+
line: number;
|
|
87
|
+
message: string;
|
|
88
|
+
}>;
|
|
89
|
+
durationMs: number;
|
|
90
|
+
}
|
|
91
|
+
export interface QueryOptions extends RuleSetOptions {
|
|
92
|
+
paths: readonly string[];
|
|
93
|
+
/** List rules from documents that are not in force, as `--ignore-status` does. */
|
|
94
|
+
includeInactive?: boolean;
|
|
95
|
+
}
|
|
96
|
+
/** The rules governing each path. */
|
|
97
|
+
export declare function answerQuery(ruleSet: RuleSet, paths: ReadonlyArray<QueryPath & {
|
|
98
|
+
exists: boolean;
|
|
99
|
+
}>, includeInactive: boolean): Omit<QueryReport, 'durationMs'>;
|
|
100
|
+
/** Loads the rules once and answers for every path. */
|
|
101
|
+
export declare function queryRules(options: QueryOptions): Promise<QueryReport>;
|
|
102
|
+
/** The human-readable form of a query. */
|
|
103
|
+
export declare function formatQuery(report: QueryReport): string;
|
|
104
|
+
/** The JSON form of a query, stable enough for a script to depend on. */
|
|
105
|
+
export declare function formatQueryJson(report: QueryReport): string;
|
|
106
|
+
/** Whether a location lies in any of the queried paths. */
|
|
107
|
+
export declare function inQueriedPaths(file: string, paths: readonly QueryPath[]): boolean;
|
|
108
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAA6B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzG,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC/D,iFAAiF;IACjF,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAQjE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC3E;AAED,kDAAkD;AAClD,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAa5G;AAID,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB;;;;;;;OAOG;IACH,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,8EAA8E;IAC9E,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CA+B9J;AAED,uDAAuD;AACvD,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAK5E;AAqCD,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgDvD;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAEjF"}
|
package/dist/query.js
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `spec-guard query`: the rules in force for a path, without running any.
|
|
3
|
+
*
|
|
4
|
+
* The question an agent - or a person - asks before touching a file is not
|
|
5
|
+
* "does the codebase pass" but "what am I allowed to do here". Answering it
|
|
6
|
+
* from CI means writing the code first and finding out afterwards, which for a
|
|
7
|
+
* model is a loop of generate, fail, read the log, regenerate. This answers it
|
|
8
|
+
* up front, from the specs alone, in the time it takes to read them. ADR-0012.
|
|
9
|
+
*/
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import { comparePaths } from './engine.js';
|
|
12
|
+
import { statOrNull, toPosix } from './glob.js';
|
|
13
|
+
import { elapsed, resolveDirective, specExclusions } from './runner.js';
|
|
14
|
+
import { createScope } from './scope.js';
|
|
15
|
+
import { governs, viewRule, within } from './rules.js';
|
|
16
|
+
import { readSpecs, specPath } from './specs.js';
|
|
17
|
+
export function viewDocument(document) {
|
|
18
|
+
return {
|
|
19
|
+
file: document.relativeFile,
|
|
20
|
+
title: document.title ?? null,
|
|
21
|
+
status: document.status?.value ?? null,
|
|
22
|
+
label: document.status?.label ?? null,
|
|
23
|
+
inForce: document.inForce,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Reads and resolves every rule, in force or not.
|
|
28
|
+
*
|
|
29
|
+
* Resolution is the runner's own, so a query and a run cannot disagree about
|
|
30
|
+
* what a directive means - including about which directives are errors.
|
|
31
|
+
*/
|
|
32
|
+
export async function loadRuleSet(options) {
|
|
33
|
+
const specs = await readSpecs(options.patterns, options.root);
|
|
34
|
+
const context = {
|
|
35
|
+
root: options.root,
|
|
36
|
+
excludeFiles: specExclusions(specs.files, options.includeSpecs ?? false),
|
|
37
|
+
scope: createScope(options.defaultSkips ?? true),
|
|
38
|
+
};
|
|
39
|
+
const rules = [];
|
|
40
|
+
const errors = [...specs.errors];
|
|
41
|
+
for (const document of specs.documents) {
|
|
42
|
+
const view = viewDocument(document);
|
|
43
|
+
for (const directive of document.directives) {
|
|
44
|
+
const resolved = resolveDirective(directive, context);
|
|
45
|
+
if ('error' in resolved)
|
|
46
|
+
errors.push(resolved.error);
|
|
47
|
+
else
|
|
48
|
+
rules.push({ assertion: resolved.assertion, document: view });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
errors.sort((a, b) => a.location.relativeFile === b.location.relativeFile
|
|
52
|
+
? a.location.line - b.location.line
|
|
53
|
+
: comparePaths(a.location.relativeFile, b.location.relativeFile));
|
|
54
|
+
return {
|
|
55
|
+
root: options.root,
|
|
56
|
+
specFiles: specs.files.map((file) => specPath(options.root, file)),
|
|
57
|
+
documents: specs.documents,
|
|
58
|
+
rules,
|
|
59
|
+
errors,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** A path argument that cannot be asked about. */
|
|
63
|
+
export class QueryPathError extends Error {
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Turns a path as someone typed it into the path a rule is written against.
|
|
67
|
+
*
|
|
68
|
+
* Absolute paths are accepted as long as they are inside the root, because that
|
|
69
|
+
* is what an agent's file tools hand around. A path that does not exist is
|
|
70
|
+
* accepted too: "what rules will govern the file I am about to create" is the
|
|
71
|
+
* question this command exists for. It is a file unless it exists as a
|
|
72
|
+
* directory or is written with a trailing slash.
|
|
73
|
+
*/
|
|
74
|
+
export async function resolveQueryPath(input, root) {
|
|
75
|
+
if (input.trim().length === 0)
|
|
76
|
+
throw new QueryPathError('A path to query must not be empty.');
|
|
77
|
+
// Separators normalised before resolving, so the path, the absolute path and
|
|
78
|
+
// whether it exists all describe the same file on every platform.
|
|
79
|
+
const absolutePath = path.resolve(root, toPosix(input));
|
|
80
|
+
const relative = path.relative(root, absolutePath);
|
|
81
|
+
const posix = toPosix(relative);
|
|
82
|
+
if (posix === '..' || posix.startsWith('../') || path.isAbsolute(relative)) {
|
|
83
|
+
throw new QueryPathError(`"${input}" is outside the root ${toPosix(root)}.`);
|
|
84
|
+
}
|
|
85
|
+
const stats = await statOrNull(absolutePath);
|
|
86
|
+
const shape = stats ? (stats.isDirectory() ? 'directory' : 'file') : /[\\/]$/.test(input) ? 'directory' : 'file';
|
|
87
|
+
return { path: posix || '.', shape, absolutePath, exists: stats !== null };
|
|
88
|
+
}
|
|
89
|
+
/** The rules governing each path. */
|
|
90
|
+
export function answerQuery(ruleSet, paths, includeInactive) {
|
|
91
|
+
const cited = new Map();
|
|
92
|
+
const results = paths.map((query) => {
|
|
93
|
+
const governing = ruleSet.rules.filter(({ assertion }) => governs(assertion, query));
|
|
94
|
+
const listed = governing.filter(({ document }) => document.inForce || includeInactive);
|
|
95
|
+
for (const { document } of governing)
|
|
96
|
+
cited.set(document.file, document);
|
|
97
|
+
const withheld = governing.filter(({ document }) => !document.inForce);
|
|
98
|
+
return {
|
|
99
|
+
path: query.path,
|
|
100
|
+
shape: query.shape,
|
|
101
|
+
exists: query.exists,
|
|
102
|
+
rules: listed.map(({ assertion, document }) => viewRule(assertion, document, query)),
|
|
103
|
+
withheld: {
|
|
104
|
+
rules: withheld.length,
|
|
105
|
+
documents: [...new Set(withheld.map(({ document }) => document.file))],
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
root: toPosix(ruleSet.root),
|
|
111
|
+
specFiles: ruleSet.specFiles,
|
|
112
|
+
results,
|
|
113
|
+
documents: [...cited.values()].sort((a, b) => comparePaths(a.file, b.file)),
|
|
114
|
+
errors: ruleSet.errors.map((error) => ({
|
|
115
|
+
file: error.location.relativeFile,
|
|
116
|
+
line: error.location.line,
|
|
117
|
+
message: error.message,
|
|
118
|
+
})),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/** Loads the rules once and answers for every path. */
|
|
122
|
+
export async function queryRules(options) {
|
|
123
|
+
const startedAt = performance.now();
|
|
124
|
+
const paths = await Promise.all(options.paths.map((input) => resolveQueryPath(input, options.root)));
|
|
125
|
+
const ruleSet = await loadRuleSet(options);
|
|
126
|
+
return { ...answerQuery(ruleSet, paths, options.includeInactive ?? false), durationMs: elapsed(startedAt) };
|
|
127
|
+
}
|
|
128
|
+
/* --------------------------------------------------------------- formatting */
|
|
129
|
+
function plural(count, one, many) {
|
|
130
|
+
return `${count} ${count === 1 ? one : many}`;
|
|
131
|
+
}
|
|
132
|
+
/** The lines under a rule that say what it asks of this path. */
|
|
133
|
+
function ruleDetails(rule) {
|
|
134
|
+
const lines = [];
|
|
135
|
+
if (rule.position) {
|
|
136
|
+
const { layer, position, matches, mayImport, mustNotImport } = rule.position;
|
|
137
|
+
const order = rule.order;
|
|
138
|
+
if (layer === null) {
|
|
139
|
+
lines.push(matches.length === 0
|
|
140
|
+
? 'layer: none - no layer matches this path'
|
|
141
|
+
: `layer: ambiguous - ${matches.map((match) => `"${match}"`).join(' and ')} all match, and the rule fails until one does`);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
lines.push(`layer: ${layer} (${position} of ${order.length})`);
|
|
145
|
+
lines.push(`may import: ${mayImport.join(', ')}`);
|
|
146
|
+
if (mustNotImport.length > 0)
|
|
147
|
+
lines.push(`must not import: ${mustNotImport.join(', ')}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (rule.named !== undefined) {
|
|
151
|
+
lines.push(rule.named ? 'name: allowed' : `name: not allowed - it matches none of ${rule.pattern.join(', ')}`);
|
|
152
|
+
}
|
|
153
|
+
if (rule.partners)
|
|
154
|
+
lines.push(`partner: ${rule.partners.join(' or ')}`);
|
|
155
|
+
if (rule.baseline && rule.baseline.length > 0) {
|
|
156
|
+
lines.push(`baseline: ${rule.baseline.map((entry) => `${entry.path} (${entry.declared})`).join(', ')}`);
|
|
157
|
+
}
|
|
158
|
+
if (rule.reason !== null)
|
|
159
|
+
lines.push(`reason: ${rule.reason}`);
|
|
160
|
+
return lines;
|
|
161
|
+
}
|
|
162
|
+
/** The human-readable form of a query. */
|
|
163
|
+
export function formatQuery(report) {
|
|
164
|
+
const out = [];
|
|
165
|
+
const documents = new Map(report.documents.map((document) => [document.file, document]));
|
|
166
|
+
for (const result of report.results) {
|
|
167
|
+
const note = result.exists ? '' : result.shape === 'directory' ? ' (directory, does not exist yet)' : ' (does not exist yet)';
|
|
168
|
+
out.push(`${result.path}${note}`);
|
|
169
|
+
const byDocument = new Map();
|
|
170
|
+
for (const rule of result.rules)
|
|
171
|
+
byDocument.set(rule.document, [...(byDocument.get(rule.document) ?? []), rule]);
|
|
172
|
+
out.push(result.rules.length === 0
|
|
173
|
+
? ' no rules in force govern this path'
|
|
174
|
+
: ` ${plural(result.rules.length, 'rule', 'rules')} from ${plural(byDocument.size, 'document', 'documents')}`);
|
|
175
|
+
for (const [file, rules] of byDocument) {
|
|
176
|
+
const document = documents.get(file);
|
|
177
|
+
const status = document.label === null ? '' : `, ${document.inForce ? document.status : `${document.status} - not in force`}`;
|
|
178
|
+
out.push('', ` ${document.title ?? file} (${file}${status})`);
|
|
179
|
+
for (const rule of rules) {
|
|
180
|
+
out.push(` :${rule.line} @${rule.kind} ${rule.description}`);
|
|
181
|
+
for (const detail of ruleDetails(rule))
|
|
182
|
+
out.push(` ${detail}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const unlisted = result.withheld.rules - result.rules.filter((rule) => !rule.inForce).length;
|
|
186
|
+
if (unlisted > 0) {
|
|
187
|
+
const where = result.withheld.documents
|
|
188
|
+
.map((file) => `${file} (${documents.get(file).status})`)
|
|
189
|
+
.join(', ');
|
|
190
|
+
out.push('', ` ${plural(unlisted, 'more rule', 'more rules')} would govern this path if ${where} were in force; --ignore-status lists ${unlisted === 1 ? 'it' : 'them'}`);
|
|
191
|
+
}
|
|
192
|
+
out.push('');
|
|
193
|
+
}
|
|
194
|
+
if (report.errors.length > 0) {
|
|
195
|
+
out.push(`${plural(report.errors.length, 'directive', 'directives')} could not be read, so ${report.errors.length === 1 ? 'its rule governs' : 'their rules govern'} nothing:`);
|
|
196
|
+
for (const error of report.errors)
|
|
197
|
+
out.push(` ${error.file}:${error.line} ${error.message}`);
|
|
198
|
+
out.push('');
|
|
199
|
+
}
|
|
200
|
+
out.push(`${plural(report.specFiles.length, 'spec file', 'spec files')} read in ${report.durationMs.toFixed(1)}ms`);
|
|
201
|
+
return out.join('\n');
|
|
202
|
+
}
|
|
203
|
+
/** The JSON form of a query, stable enough for a script to depend on. */
|
|
204
|
+
export function formatQueryJson(report) {
|
|
205
|
+
return JSON.stringify({ ...report, durationMs: Math.round(report.durationMs * 1000) / 1000 }, null, 2);
|
|
206
|
+
}
|
|
207
|
+
/** Whether a location lies in any of the queried paths. */
|
|
208
|
+
export function inQueriedPaths(file, paths) {
|
|
209
|
+
return paths.some((query) => within(file, query.path));
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/reporter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,QAAA,MAAM,IAAI;aACR,KAAK;aACL,IAAI;aACJ,GAAG;aACH,GAAG;aACH,KAAK;aACL,MAAM;aACN,IAAI;aACJ,OAAO;aACP,IAAI;aACJ,IAAI;CACI,CAAC;AAEX,KAAK,KAAK,GAAG,MAAM,OAAO,IAAI,CAAC;AAE/B,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,MAAM,CAI1F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAKT;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,QAAQ,kBAAmB,GAAG,OAAO,CAGzG;
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,QAAA,MAAM,IAAI;aACR,KAAK;aACL,IAAI;aACJ,GAAG;aACH,GAAG;aACH,KAAK;aACL,MAAM;aACN,IAAI;aACJ,OAAO;aACP,IAAI;aACJ,IAAI;CACI,CAAC;AAEX,KAAK,KAAK,GAAG,MAAM,OAAO,IAAI,CAAC;AAE/B,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,MAAM,CAI1F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAKT;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,QAAQ,kBAAmB,GAAG,OAAO,CAGzG;AA+JD,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,SAAI,GAAG,MAAM,CAmGjG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAezD;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAoDpD;AAkED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CA8FzF"}
|