wingfoil 0.2.1 → 0.2.2
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/README.md +12 -6
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +2 -1
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +117 -29
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/registrar.d.ts +15 -6
- package/dist/cli/registrar.d.ts.map +1 -1
- package/dist/cli/registrar.js +4 -0
- package/dist/cli/registrar.js.map +1 -1
- package/dist/core/exit-code.d.ts.map +1 -1
- package/dist/core/exit-code.js +7 -6
- package/dist/core/exit-code.js.map +1 -1
- package/dist/core/index.d.ts +5 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +232 -89
- package/dist/core/index.js.map +1 -1
- package/dist/core/init.d.ts +5 -3
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +5 -3
- package/dist/core/init.js.map +1 -1
- package/dist/core/registry.d.ts +69 -17
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js.map +1 -1
- package/dist/directives/schema.d.ts +3 -3
- package/dist/directives/schema.js +3 -3
- package/dist/mcp/index.d.ts +1 -1
- package/dist/memory/add.d.ts +62 -5
- package/dist/memory/add.d.ts.map +1 -1
- package/dist/memory/add.js +130 -7
- package/dist/memory/add.js.map +1 -1
- package/dist/memory/audit.d.ts +26 -6
- package/dist/memory/audit.d.ts.map +1 -1
- package/dist/memory/audit.js +27 -11
- package/dist/memory/audit.js.map +1 -1
- package/dist/memory/commit-message.js +1 -1
- package/dist/memory/commit-message.js.map +1 -1
- package/dist/memory/history.d.ts +1 -1
- package/dist/memory/history.js +1 -1
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +6 -2
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/state-machine.js +2 -2
- package/dist/storage/templates.d.ts.map +1 -1
- package/dist/storage/templates.js +12 -1
- package/dist/storage/templates.js.map +1 -1
- package/dist/validation/id.d.ts +26 -0
- package/dist/validation/id.d.ts.map +1 -1
- package/dist/validation/id.js +64 -1
- package/dist/validation/id.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +4 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/secret-scan.d.ts +7 -5
- package/dist/validation/secret-scan.d.ts.map +1 -1
- package/dist/validation/secret-scan.js +7 -5
- package/dist/validation/secret-scan.js.map +1 -1
- package/dist/workflow/schema.d.ts.map +1 -1
- package/dist/workflow/schema.js +27 -1
- package/dist/workflow/schema.js.map +1 -1
- package/package.json +23 -9
package/dist/validation/id.d.ts
CHANGED
|
@@ -5,6 +5,32 @@ export declare const ID_CHAR_CLASS = "a-z0-9-.";
|
|
|
5
5
|
* tokens as `[0-9]+`, and every other token as a hyphen-separated `[a-z0-9.]` slug.
|
|
6
6
|
*/
|
|
7
7
|
export declare function patternToRegExp(pattern: string): RegExp;
|
|
8
|
+
/**
|
|
9
|
+
* Whether `value` is a legal ID piece — non-empty and wholly inside the shared ID character class
|
|
10
|
+
* `[a-z0-9-.]` (spec-009 §1). The same test {@link generateId} applies to every rendered token value,
|
|
11
|
+
* exported so a caller that materializes a token itself (`memory add`'s field tokens,
|
|
12
|
+
* task-110) refuses exactly what `generateId` would.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isIdPiece(value: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The `{token}` names of an `id_pattern` (or a `path` pattern — same brace syntax), in order of
|
|
17
|
+
* appearance, duplicates kept. `{n}` family tokens are returned as written (`n`, `nnn`).
|
|
18
|
+
*/
|
|
19
|
+
export declare function patternTokens(pattern: string): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Validate an `id_pattern` on its own, without rendering it — the check a pattern declared somewhere
|
|
22
|
+
* other than `memory.yaml` gets, e.g. a workflow `memory.add` action's per-action override
|
|
23
|
+
* (`spec-001` "Per-action override", `dl-107` S3 (a), task-110). Returns one message per problem, in
|
|
24
|
+
* pattern order; an empty array means the pattern is well-formed:
|
|
25
|
+
*
|
|
26
|
+
* - an empty pattern;
|
|
27
|
+
* - literal characters outside `[a-z0-9-.]` — the same rule and wording as {@link generateId}'s
|
|
28
|
+
* Pass A;
|
|
29
|
+
* - a token that is neither a `{n}`-family token nor a field name `[a-z][a-z0-9_-]*`. A **dotted**
|
|
30
|
+
* token (`{release.version}`) is named as such: it would read a field of an element in the
|
|
31
|
+
* workflow's `element:` chain, which is `dl-090`'s resolution and undefined until that lands.
|
|
32
|
+
*/
|
|
33
|
+
export declare function idPatternIssues(pattern: string): string[];
|
|
8
34
|
/**
|
|
9
35
|
* Generate a concrete ID from `pattern` and `values`.
|
|
10
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/validation/id.ts"],"names":[],"mappings":"AAoBA,0FAA0F;AAC1F,eAAO,MAAM,aAAa,aAAa,CAAC;AAkDxC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYvD;
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/validation/id.ts"],"names":[],"mappings":"AAoBA,0FAA0F;AAC1F,eAAO,MAAM,aAAa,aAAa,CAAC;AAkDxC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYvD;AAkBD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAIvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CA2D3F"}
|
package/dist/validation/id.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ID_CHAR_CLASS = void 0;
|
|
4
4
|
exports.patternToRegExp = patternToRegExp;
|
|
5
|
+
exports.isIdPiece = isIdPiece;
|
|
6
|
+
exports.patternTokens = patternTokens;
|
|
7
|
+
exports.idPatternIssues = idPatternIssues;
|
|
5
8
|
exports.generateId = generateId;
|
|
6
9
|
/**
|
|
7
10
|
* ID-generation engine (task-002-validation-id-engine, acceptance criteria 5).
|
|
8
11
|
*
|
|
9
12
|
* Generates a concrete Memory-element ID from a type's `id_pattern` (declared in
|
|
10
|
-
*
|
|
13
|
+
* `.wingfoil/memory.yaml`, e.g. `task-{n}-{slug}`) plus values for its `{placeholder}`
|
|
11
14
|
* tokens. It enforces the shared ID character class `[a-z0-9-.]` that spec-009-validation-strategy
|
|
12
15
|
* §1 frames as a Pass-2 rule owned by "the shared ID constants":
|
|
13
16
|
*
|
|
@@ -88,6 +91,66 @@ function offendingChars(literal) {
|
|
|
88
91
|
}
|
|
89
92
|
return out;
|
|
90
93
|
}
|
|
94
|
+
/** A non-numeric token name: a frontmatter field or context name (`version`, `release-line`, `tmpl_version`). */
|
|
95
|
+
const FIELD_TOKEN_RE = /^[a-z][a-z0-9_-]*$/;
|
|
96
|
+
/**
|
|
97
|
+
* Whether `value` is a legal ID piece — non-empty and wholly inside the shared ID character class
|
|
98
|
+
* `[a-z0-9-.]` (spec-009 §1). The same test {@link generateId} applies to every rendered token value,
|
|
99
|
+
* exported so a caller that materializes a token itself (`memory add`'s field tokens,
|
|
100
|
+
* task-110) refuses exactly what `generateId` would.
|
|
101
|
+
*/
|
|
102
|
+
function isIdPiece(value) {
|
|
103
|
+
return ID_PIECE_RE.test(value);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The `{token}` names of an `id_pattern` (or a `path` pattern — same brace syntax), in order of
|
|
107
|
+
* appearance, duplicates kept. `{n}` family tokens are returned as written (`n`, `nnn`).
|
|
108
|
+
*/
|
|
109
|
+
function patternTokens(pattern) {
|
|
110
|
+
return parsePattern(pattern)
|
|
111
|
+
.filter((segment) => segment.kind === 'token')
|
|
112
|
+
.map((segment) => segment.value);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Validate an `id_pattern` on its own, without rendering it — the check a pattern declared somewhere
|
|
116
|
+
* other than `memory.yaml` gets, e.g. a workflow `memory.add` action's per-action override
|
|
117
|
+
* (`spec-001` "Per-action override", `dl-107` S3 (a), task-110). Returns one message per problem, in
|
|
118
|
+
* pattern order; an empty array means the pattern is well-formed:
|
|
119
|
+
*
|
|
120
|
+
* - an empty pattern;
|
|
121
|
+
* - literal characters outside `[a-z0-9-.]` — the same rule and wording as {@link generateId}'s
|
|
122
|
+
* Pass A;
|
|
123
|
+
* - a token that is neither a `{n}`-family token nor a field name `[a-z][a-z0-9_-]*`. A **dotted**
|
|
124
|
+
* token (`{release.version}`) is named as such: it would read a field of an element in the
|
|
125
|
+
* workflow's `element:` chain, which is `dl-090`'s resolution and undefined until that lands.
|
|
126
|
+
*/
|
|
127
|
+
function idPatternIssues(pattern) {
|
|
128
|
+
if (pattern.length === 0)
|
|
129
|
+
return ['pattern is empty'];
|
|
130
|
+
const issues = [];
|
|
131
|
+
const segments = parsePattern(pattern);
|
|
132
|
+
const badChars = [];
|
|
133
|
+
for (const segment of segments) {
|
|
134
|
+
if (segment.kind !== 'literal')
|
|
135
|
+
continue;
|
|
136
|
+
for (const ch of offendingChars(segment.value))
|
|
137
|
+
if (!badChars.includes(ch))
|
|
138
|
+
badChars.push(ch);
|
|
139
|
+
}
|
|
140
|
+
if (badChars.length > 0) {
|
|
141
|
+
issues.push(`pattern contains character(s) outside [${exports.ID_CHAR_CLASS}]: ${badChars.join(', ')}`);
|
|
142
|
+
}
|
|
143
|
+
for (const segment of segments) {
|
|
144
|
+
if (segment.kind !== 'token')
|
|
145
|
+
continue;
|
|
146
|
+
const token = segment.value;
|
|
147
|
+
if (isNumericToken(token) || FIELD_TOKEN_RE.test(token))
|
|
148
|
+
continue;
|
|
149
|
+
const dotted = token.includes('.') && token.split('.').every((part) => FIELD_TOKEN_RE.test(part));
|
|
150
|
+
issues.push(dotted ? `dotted token {${token}} is not defined until dl-090` : `malformed token {${token}}`);
|
|
151
|
+
}
|
|
152
|
+
return issues;
|
|
153
|
+
}
|
|
91
154
|
/**
|
|
92
155
|
* Generate a concrete ID from `pattern` and `values`.
|
|
93
156
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/validation/id.ts"],"names":[],"mappings":";;;AA2EA,0CAYC;
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/validation/id.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export { emitUnknownFieldWarning } from './warning';
|
|
|
11
11
|
export type { HasShape } from './warning';
|
|
12
12
|
export { runValidation } from './two-pass';
|
|
13
13
|
export type { RunValidationOptions, SemanticCheck } from './two-pass';
|
|
14
|
-
export { generateId, patternToRegExp, ID_CHAR_CLASS } from './id';
|
|
14
|
+
export { generateId, idPatternIssues, isIdPiece, patternTokens, patternToRegExp, ID_CHAR_CLASS } from './id';
|
|
15
15
|
export { parseYaml } from './yaml';
|
|
16
16
|
export { SECRET_PATTERNS, SCAN_SURFACE_ROOTS, DEFAULT_IGNORE_FILE, scanText, scanProjectSurface, isBinaryContent, loadIgnoreGlobs, matchesIgnoreGlob, } from './secret-scan';
|
|
17
17
|
export type { SecretSeverity, SecretPattern, ExemptReason, SecretFinding, ExemptFinding, ScanResult, ScanTextOptions, ScanProjectOptions, } from './secret-scan';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
package/dist/validation/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.matchesIgnoreGlob = exports.loadIgnoreGlobs = exports.isBinaryContent = exports.scanProjectSurface = exports.scanText = exports.DEFAULT_IGNORE_FILE = exports.SCAN_SURFACE_ROOTS = exports.SECRET_PATTERNS = exports.parseYaml = exports.ID_CHAR_CLASS = exports.patternToRegExp = exports.generateId = exports.runValidation = exports.emitUnknownFieldWarning = exports.toValidationError = exports.ValidationError = exports.EXIT_VALIDATION = exports.EXIT_INTEGRITY = exports.E_YAML_PARSE_ERROR = exports.E_VALIDATION = void 0;
|
|
3
|
+
exports.matchesIgnoreGlob = exports.loadIgnoreGlobs = exports.isBinaryContent = exports.scanProjectSurface = exports.scanText = exports.DEFAULT_IGNORE_FILE = exports.SCAN_SURFACE_ROOTS = exports.SECRET_PATTERNS = exports.parseYaml = exports.ID_CHAR_CLASS = exports.patternToRegExp = exports.patternTokens = exports.isIdPiece = exports.idPatternIssues = exports.generateId = exports.runValidation = exports.emitUnknownFieldWarning = exports.toValidationError = exports.ValidationError = exports.EXIT_VALIDATION = exports.EXIT_INTEGRITY = exports.E_YAML_PARSE_ERROR = exports.E_VALIDATION = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* `src/validation` — the shared validation & ID module (spec-009-validation-strategy,
|
|
6
6
|
* task-002-validation-id-engine). Single entry point every schema (spec-001/002/003 and the
|
|
@@ -21,6 +21,9 @@ var two_pass_1 = require("./two-pass");
|
|
|
21
21
|
Object.defineProperty(exports, "runValidation", { enumerable: true, get: function () { return two_pass_1.runValidation; } });
|
|
22
22
|
var id_1 = require("./id");
|
|
23
23
|
Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return id_1.generateId; } });
|
|
24
|
+
Object.defineProperty(exports, "idPatternIssues", { enumerable: true, get: function () { return id_1.idPatternIssues; } });
|
|
25
|
+
Object.defineProperty(exports, "isIdPiece", { enumerable: true, get: function () { return id_1.isIdPiece; } });
|
|
26
|
+
Object.defineProperty(exports, "patternTokens", { enumerable: true, get: function () { return id_1.patternTokens; } });
|
|
24
27
|
Object.defineProperty(exports, "patternToRegExp", { enumerable: true, get: function () { return id_1.patternToRegExp; } });
|
|
25
28
|
Object.defineProperty(exports, "ID_CHAR_CLASS", { enumerable: true, get: function () { return id_1.ID_CHAR_CLASS; } });
|
|
26
29
|
var yaml_1 = require("./yaml");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AAGjB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qCAAoD;AAA3C,kHAAA,uBAAuB,OAAA;AAEhC,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AAEtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AAGjB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qCAAoD;AAA3C,kHAAA,uBAAuB,OAAA;AAEhC,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AAEtB,2BAA6G;AAApG,gGAAA,UAAU,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,+FAAA,SAAS,OAAA;AAAE,mGAAA,aAAa,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,mGAAA,aAAa,OAAA;AAC9F,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,6CASuB;AARrB,8GAAA,eAAe,OAAA;AACf,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA;AACnB,uGAAA,QAAQ,OAAA;AACR,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA"}
|
|
@@ -81,12 +81,14 @@ export declare function scanText(content: string, filePath: string, options?: Sc
|
|
|
81
81
|
/** Null-byte sniff on the first 8KB (spec-007 §1) — binary files are out of scan scope. */
|
|
82
82
|
export declare function isBinaryContent(buf: Buffer): boolean;
|
|
83
83
|
/**
|
|
84
|
-
* Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus
|
|
85
|
-
* self-hosted analog
|
|
86
|
-
* the
|
|
87
|
-
*
|
|
84
|
+
* Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus `docs/04_memory/`,
|
|
85
|
+
* this repository's own Memory folder — spec-007 §1's self-hosted analog, which followed the
|
|
86
|
+
* configuration to the repository root in `task-111-configuration-moves-to-the-repository-root`
|
|
87
|
+
* (before it, the analog named the nested dogfooding copies of both folders). A root with no indexed
|
|
88
|
+
* files contributes nothing, so {@link scanProjectSurface} is safe to call before `init` has ever run,
|
|
89
|
+
* and on a project whose Memory lives elsewhere.
|
|
88
90
|
*/
|
|
89
|
-
export declare const SCAN_SURFACE_ROOTS: readonly [".wingfoil", "docs/
|
|
91
|
+
export declare const SCAN_SURFACE_ROOTS: readonly [".wingfoil", "docs/04_memory"];
|
|
90
92
|
/** Default path (root-relative) of the `security-ignore` glob list (spec-007 §3). */
|
|
91
93
|
export declare const DEFAULT_IGNORE_FILE = ".wingfoil/security-ignore";
|
|
92
94
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"AAmBA,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA8EnD,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAElF,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0GAA0G;AAC1G,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,UAAU,CA2CrG;AAYD,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED
|
|
1
|
+
{"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"AAmBA,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA8EnD,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAElF,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0GAA0G;AAC1G,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,UAAU,CA2CrG;AAYD,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,0CAA2C,CAAC;AAE3E,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAoE/D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhE;AA8BD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAErF;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAY7F"}
|
|
@@ -219,12 +219,14 @@ function isBinaryContent(buf) {
|
|
|
219
219
|
return head.includes(0);
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
|
-
* Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus
|
|
223
|
-
* self-hosted analog
|
|
224
|
-
* the
|
|
225
|
-
*
|
|
222
|
+
* Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus `docs/04_memory/`,
|
|
223
|
+
* this repository's own Memory folder — spec-007 §1's self-hosted analog, which followed the
|
|
224
|
+
* configuration to the repository root in `task-111-configuration-moves-to-the-repository-root`
|
|
225
|
+
* (before it, the analog named the nested dogfooding copies of both folders). A root with no indexed
|
|
226
|
+
* files contributes nothing, so {@link scanProjectSurface} is safe to call before `init` has ever run,
|
|
227
|
+
* and on a project whose Memory lives elsewhere.
|
|
226
228
|
*/
|
|
227
|
-
exports.SCAN_SURFACE_ROOTS = ['.wingfoil', 'docs/
|
|
229
|
+
exports.SCAN_SURFACE_ROOTS = ['.wingfoil', 'docs/04_memory'];
|
|
228
230
|
/** Default path (root-relative) of the `security-ignore` glob list (spec-007 §3). */
|
|
229
231
|
exports.DEFAULT_IGNORE_FILE = '.wingfoil/security-ignore';
|
|
230
232
|
/** `git ls-files -s` mode of a gitlink (submodule commit) — not a blob, nothing to read. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-scan.js","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":";;;AA8OA,4BA2CC;AAaD,0CAGC;
|
|
1
|
+
{"version":3,"file":"secret-scan.js","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/workflow/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/workflow/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;iBAKV,CAAC;AACjB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAsC1D;;;;GAIG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;iBAkBF,CAAC;AACjB,gDAAgD;AAChD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C,iFAAiF;AACjF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASL,CAAC;AACjB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
package/dist/workflow/schema.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.Workflow = exports.Phase = exports.WorkflowsYaml = void 0;
|
|
|
15
15
|
* Every object node is `.passthrough()` per spec-009 §2.
|
|
16
16
|
*/
|
|
17
17
|
const zod_1 = require("zod");
|
|
18
|
+
const id_1 = require("../validation/id");
|
|
18
19
|
/**
|
|
19
20
|
* Layer 1 — the main manifest (`.wingfoil/workflows.yaml`). `include` (singular) is the canonical
|
|
20
21
|
* key per spec-003's required rename from the legacy plural `includes:`; a document that still uses
|
|
@@ -35,6 +36,31 @@ const WhereValue = zod_1.z.union([
|
|
|
35
36
|
zod_1.z.boolean(),
|
|
36
37
|
zod_1.z.array(zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()])),
|
|
37
38
|
]);
|
|
39
|
+
/** A `memory.add(...)` action string (`dl-107` S3 (a)). */
|
|
40
|
+
const MEMORY_ADD_ACTION_RE = /^\s*memory\.add\s*\(/;
|
|
41
|
+
/** The `id_pattern:` argument of an action, double- or single-quoted. */
|
|
42
|
+
const ID_PATTERN_ARG_RE = /\bid_pattern\s*:\s*(?:"([^"]*)"|'([^']*)')/;
|
|
43
|
+
/**
|
|
44
|
+
* A phase's `actions` list. Actions stay free-form strings (spec-003), with one checked argument: a
|
|
45
|
+
* `memory.add(...)` action may override its type's `id_pattern` for that one add
|
|
46
|
+
* (`spec-001-memory-yaml-schema` "Per-action override", `dl-107` S3 (a), task-110), and that override
|
|
47
|
+
* is validated like any other pattern — `idPatternIssues` (`src/validation/id.ts`). A dotted token
|
|
48
|
+
* such as `{release.version}` is refused until `dl-090` defines how it resolves. Every other argument,
|
|
49
|
+
* and every other action, is left as it was.
|
|
50
|
+
*/
|
|
51
|
+
const Actions = zod_1.z.array(zod_1.z.string()).superRefine((actions, ctx) => {
|
|
52
|
+
actions.forEach((action, index) => {
|
|
53
|
+
if (!MEMORY_ADD_ACTION_RE.test(action))
|
|
54
|
+
return;
|
|
55
|
+
const match = ID_PATTERN_ARG_RE.exec(action);
|
|
56
|
+
if (match === null)
|
|
57
|
+
return;
|
|
58
|
+
const pattern = match[1] ?? match[2] ?? '';
|
|
59
|
+
for (const issue of (0, id_1.idPatternIssues)(pattern)) {
|
|
60
|
+
ctx.addIssue({ code: 'custom', path: [index], message: `memory.add id_pattern "${pattern}": ${issue}` });
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
38
64
|
/**
|
|
39
65
|
* One `phases[]` entry of a Layer-2 workflow definition (spec-003) — a named step with its optional
|
|
40
66
|
* `role`, `actions`, `include`, `iterate_over`/`where`, `produces`, `checks`, `approval`, and
|
|
@@ -46,7 +72,7 @@ exports.Phase = zod_1.z
|
|
|
46
72
|
description: zod_1.z.string().optional(),
|
|
47
73
|
role: zod_1.z.string().optional(),
|
|
48
74
|
optional: zod_1.z.boolean().default(false),
|
|
49
|
-
actions:
|
|
75
|
+
actions: Actions.optional(),
|
|
50
76
|
include: zod_1.z.string().optional(),
|
|
51
77
|
iterate_over: zod_1.z.string().optional(),
|
|
52
78
|
where: zod_1.z.record(zod_1.z.string(), WhereValue).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/workflow/schema.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,6BAAwB;AAExB;;;;;GAKG;AACU,QAAA,aAAa,GAAG,OAAC;KAC3B,MAAM,CAAC;IACN,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC;KACD,WAAW,EAAE,CAAC;AAGjB,mGAAmG;AACnG,MAAM,KAAK,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;AAEzB,MAAM,UAAU,GAAG,OAAC,CAAC,KAAK,CAAC;IACzB,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,KAAK,GAAG,OAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/workflow/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wingfoil",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "WingFoil — the repo-native intent layer for AI-native software engineering",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Roberto Pompermaier <robypomper@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/
|
|
9
|
+
"url": "git+https://github.com/wingfoil/wingfoil.git"
|
|
10
10
|
},
|
|
11
|
-
"homepage": "https://github.com/
|
|
11
|
+
"homepage": "https://github.com/wingfoil/wingfoil#readme",
|
|
12
12
|
"bugs": {
|
|
13
|
-
"url": "https://github.com/
|
|
13
|
+
"url": "https://github.com/wingfoil/wingfoil/issues"
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": ">=22.12.0"
|
|
@@ -38,13 +38,28 @@
|
|
|
38
38
|
"lint": "eslint .",
|
|
39
39
|
"docs:api": "typedoc --options typedoc.json",
|
|
40
40
|
"test": "jest",
|
|
41
|
-
"test:coverage": "jest --coverage"
|
|
41
|
+
"test:coverage": "jest --coverage",
|
|
42
|
+
"wingfoil": "node node_modules/wingfoil-released/dist/cli.js",
|
|
43
|
+
"check:mcp": "node scripts/check-mcp-registration.cjs"
|
|
42
44
|
},
|
|
43
45
|
"keywords": [
|
|
44
46
|
"wingfoil",
|
|
47
|
+
"mcp",
|
|
48
|
+
"model-context-protocol",
|
|
49
|
+
"mcp-server",
|
|
50
|
+
"ai-agents",
|
|
45
51
|
"ai-assisted-development",
|
|
52
|
+
"claude-code",
|
|
53
|
+
"cli",
|
|
54
|
+
"workflow",
|
|
55
|
+
"governance",
|
|
56
|
+
"spec-driven-development",
|
|
57
|
+
"intent-engineering",
|
|
58
|
+
"context-engineering",
|
|
59
|
+
"developer-tools",
|
|
46
60
|
"determinism"
|
|
47
61
|
],
|
|
62
|
+
"mcpName": "io.github.wingfoil/wingfoil",
|
|
48
63
|
"//devDependencies:@emnapi": "task-104 / bug-063. @emnapi/core and @emnapi/runtime are NOT imported by anything in this repository. They are declared here, at the exact version the overrides block below pins, because an overrides pin binds a version but does not make npm record a node: under npm 11.x a plain `npm install` prunes both hoisted entries out of package-lock.json and reports `up to date`, which silently reverts task-080 and makes `npm ci` fail again under the npm 10.9.x that the pipeline's pinned Node 22.12.0 bundles (bug-056). A DIRECT dependency is never pruned, so declaring them is what makes the lock entries survive an ordinary install. Keep the two versions here equal to the overrides pins - `npm run check:lockfile` (scripts/check-lockfile-pins.cjs) fails if they drift, if either entry leaves the lock, or if these declarations are removed. Being devDependencies, they are never installed by a consumer of the published package.",
|
|
49
64
|
"devDependencies": {
|
|
50
65
|
"@emnapi/core": "1.11.3",
|
|
@@ -58,12 +73,11 @@
|
|
|
58
73
|
"ts-jest": "^29.4.11",
|
|
59
74
|
"typedoc": "^0.28.20",
|
|
60
75
|
"typescript": "^6.0.3",
|
|
61
|
-
"typescript-eslint": "^8.62.1"
|
|
76
|
+
"typescript-eslint": "^8.62.1",
|
|
77
|
+
"wingfoil-released": "npm:wingfoil@0.2.1"
|
|
62
78
|
},
|
|
63
79
|
"dependencies": {
|
|
64
|
-
"@anthropic-ai/sdk": "^0.110.0",
|
|
65
80
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
66
|
-
"chalk": "^4.1.2",
|
|
67
81
|
"commander": "^15.0.0",
|
|
68
82
|
"js-yaml": "^4.3.0",
|
|
69
83
|
"zod": "^4.4.3"
|