@ai-dossier/cli 0.31.0 → 0.32.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/README.md +4 -2
- package/dist/commands/plan.d.ts +3 -3
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +41 -7
- package/dist/commands/plan.js.map +1 -1
- package/dist/plan-artifact.d.ts +27 -6
- package/dist/plan-artifact.d.ts.map +1 -1
- package/dist/plan-artifact.js +54 -17
- package/dist/plan-artifact.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1009,8 +1009,10 @@ ai-dossier plan validate --issue 462
|
|
|
1009
1009
|
| `validate` | Deterministic checks against the local clone; prints a `{valid, reasons[]}` JSON verdict; exits 1 when invalid | no |
|
|
1010
1010
|
|
|
1011
1011
|
`validate` runs the deterministic checks — all five sections present, every Predicted
|
|
1012
|
-
Files path exists at current HEAD (`git cat-file -e HEAD:<path>`)
|
|
1013
|
-
|
|
1012
|
+
Files path not marked `(new)` exists at current HEAD (`git cat-file -e HEAD:<path>`) — a
|
|
1013
|
+
path marked `(new)` (the issue's scope is to create it) is exempt, and warns instead if it
|
|
1014
|
+
already exists — head-distance (commits on HEAD since the plan's `head=` — an info reason
|
|
1015
|
+
when non-zero), and a risk-floor scan of
|
|
1014
1016
|
Predicted Files (auth/secrets, payments/billing, migrations/schema, protocol surfaces are
|
|
1015
1017
|
flagged as elevated-risk, info severity) — reporting `{check, severity, message}` reasons
|
|
1016
1018
|
(full check/severity table in [docs/reference/plan-artifact.md](../docs/reference/plan-artifact.md)).
|
package/dist/commands/plan.d.ts
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* One canonical per-issue plan (#462, RFC-0001 C.6): posting is append-only (a new post
|
|
5
5
|
* supersedes — readers always take the LAST plan:v1 comment), reading is `get`, and
|
|
6
|
-
* `validate` runs the deterministic checks — referenced files exist at HEAD
|
|
7
|
-
* risk-floor path scan — with no model call anywhere.
|
|
6
|
+
* `validate` runs the deterministic checks — referenced files exist at HEAD (unless marked
|
|
7
|
+
* `(new)`), head-distance, risk-floor path scan — with no model call anywhere.
|
|
8
8
|
*/
|
|
9
9
|
import type { Command } from 'commander';
|
|
10
10
|
/** One finding of `validate`, machine-parseable by design. */
|
|
11
11
|
export interface PlanValidationReason {
|
|
12
12
|
/** Which check produced the finding. */
|
|
13
|
-
check: 'artifact' | 'sections' | 'missing-file' | 'head-distance' | 'risk-floor' | 'git';
|
|
13
|
+
check: 'artifact' | 'sections' | 'missing-file' | 'stale-plan' | 'head-distance' | 'risk-floor' | 'git';
|
|
14
14
|
/** `error` fails validity; `warn`/`info` are carried for the caller to act on. */
|
|
15
15
|
severity: 'error' | 'warn' | 'info';
|
|
16
16
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8CzC,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,KAAK,EACD,UAAU,GACV,UAAU,GACV,cAAc,GACd,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,KAAK,CAAC;IACV,kFAAkF;IAClF,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAsXD,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D"}
|
package/dist/commands/plan.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* One canonical per-issue plan (#462, RFC-0001 C.6): posting is append-only (a new post
|
|
6
6
|
* supersedes — readers always take the LAST plan:v1 comment), reading is `get`, and
|
|
7
|
-
* `validate` runs the deterministic checks — referenced files exist at HEAD
|
|
8
|
-
* risk-floor path scan — with no model call anywhere.
|
|
7
|
+
* `validate` runs the deterministic checks — referenced files exist at HEAD (unless marked
|
|
8
|
+
* `(new)`), head-distance, risk-floor path scan — with no model call anywhere.
|
|
9
9
|
*/
|
|
10
10
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
11
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -26,8 +26,28 @@ const SECTION_JSON_KEYS = {
|
|
|
26
26
|
Approach: 'approach',
|
|
27
27
|
'Test Scope': 'test_scope',
|
|
28
28
|
};
|
|
29
|
-
/** `git cat-file -e` exits 1
|
|
29
|
+
/** `git cat-file -e` exits 1 when the raw object id itself is absent — a defensive fallback for git forms that use this exit code rather than 128 (below), which is what `HEAD:<path>` actually exits with. */
|
|
30
30
|
const GIT_NO_SUCH_OBJECT = 1;
|
|
31
|
+
/**
|
|
32
|
+
* `git cat-file -e HEAD:<path>` exits 128 both when `<path>` is not present at HEAD (the
|
|
33
|
+
* common case) and when HEAD itself does not resolve (no commits yet, corrupt ref, not a
|
|
34
|
+
* repo) — the exit code alone cannot distinguish them. An earlier version of this check
|
|
35
|
+
* tried to tell them apart by matching git's stderr wording (#579's original bug fix),
|
|
36
|
+
* but that wording is gettext-translated and has changed across git versions — e.g. an
|
|
37
|
+
* untracked path's "exists on disk, but not in 'HEAD'" never matched at all, silently
|
|
38
|
+
* reproducing the original bug for that case. {@link headResolves} answers the same
|
|
39
|
+
* question structurally instead: if HEAD resolves to a real commit, ANY 128 from the
|
|
40
|
+
* `HEAD:<path>` probe can only mean the path is absent — regardless of git's wording.
|
|
41
|
+
*/
|
|
42
|
+
const GIT_FATAL = 128;
|
|
43
|
+
/**
|
|
44
|
+
* Whether HEAD resolves to a real commit — the fact that disambiguates a 128 exit from
|
|
45
|
+
* {@link fileExistsAtHead}'s probe. Only interesting on the failure path (`res.ok` is
|
|
46
|
+
* `false`), and cheap enough to call once per path without memoizing.
|
|
47
|
+
*/
|
|
48
|
+
function headResolves() {
|
|
49
|
+
return (0, gh_1.exec)('git', ['rev-parse', '--verify', '--quiet', 'HEAD^{commit}']).ok;
|
|
50
|
+
}
|
|
31
51
|
/** Characters kept when quoting a network-derived path inside an error message. */
|
|
32
52
|
const PATH_SNIPPET_LENGTH = 80;
|
|
33
53
|
/** Author associations GitHub treats as having write access to the repository. */
|
|
@@ -152,6 +172,8 @@ function fileExistsAtHead(path) {
|
|
|
152
172
|
return { ok: true, exists: true };
|
|
153
173
|
if (res.error.status === GIT_NO_SUCH_OBJECT)
|
|
154
174
|
return { ok: true, exists: false };
|
|
175
|
+
if (res.error.status === GIT_FATAL && headResolves())
|
|
176
|
+
return { ok: true, exists: false };
|
|
155
177
|
return { ok: false, error: (0, gh_1.gitFailure)(res.error) };
|
|
156
178
|
}
|
|
157
179
|
/** Commits between the artifact's `head=` and the local HEAD, or why git could not answer. */
|
|
@@ -191,8 +213,12 @@ function artifactReasons(artifact) {
|
|
|
191
213
|
message: "Predicted Files section produced no paths — expected one '- `path`' bullet per file.",
|
|
192
214
|
});
|
|
193
215
|
}
|
|
194
|
-
|
|
195
|
-
|
|
216
|
+
// Iterate parsed bullets, not `artifact.predictedFiles` + a path-keyed Set lookup — two
|
|
217
|
+
// bullets naming the same path (one marked `(new)`, one not) would otherwise alias
|
|
218
|
+
// through the Set and give both occurrences the same (wrong, for one of them) verdict.
|
|
219
|
+
for (const bullet of (0, plan_artifact_1.parsePredictedFileBullets)(artifact.sections['Predicted Files'])) {
|
|
220
|
+
const path = (0, gh_1.snippet)(bullet.path, PATH_SNIPPET_LENGTH);
|
|
221
|
+
const exists = fileExistsAtHead(bullet.path);
|
|
196
222
|
if (!exists.ok) {
|
|
197
223
|
reasons.push({
|
|
198
224
|
check: 'git',
|
|
@@ -200,11 +226,18 @@ function artifactReasons(artifact) {
|
|
|
200
226
|
message: `Cannot verify '${path}' at HEAD: ${exists.error} — run from inside the repository the plan targets.`,
|
|
201
227
|
});
|
|
202
228
|
}
|
|
203
|
-
else if (!exists.exists) {
|
|
229
|
+
else if (!exists.exists && !bullet.isNew) {
|
|
204
230
|
reasons.push({
|
|
205
231
|
check: 'missing-file',
|
|
206
232
|
severity: 'error',
|
|
207
|
-
message: `Predicted file '${path}' does not exist at current HEAD.`,
|
|
233
|
+
message: `Predicted file '${path}' does not exist at current HEAD. If this issue creates it, mark the bullet '(new)' — e.g. '- \`${path}\` (new) — why'.`,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
else if (exists.exists && bullet.isNew) {
|
|
237
|
+
reasons.push({
|
|
238
|
+
check: 'stale-plan',
|
|
239
|
+
severity: 'warn',
|
|
240
|
+
message: `Predicted file '${path}' is marked '(new)' but already exists at current HEAD — the plan may be stale.`,
|
|
208
241
|
});
|
|
209
242
|
}
|
|
210
243
|
}
|
|
@@ -262,6 +295,7 @@ function registerGetSubcommand(cmd) {
|
|
|
262
295
|
head: artifact.head,
|
|
263
296
|
...sections,
|
|
264
297
|
predicted_files: artifact.predictedFiles,
|
|
298
|
+
new_files: [...artifact.newFiles],
|
|
265
299
|
url,
|
|
266
300
|
created_at: createdAt,
|
|
267
301
|
author,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;AAsbH,kDAQC;AA5bD,sDAAyB;AAEzB,8BAWe;AACf,oDAW0B;AAsC1B;;;;GAIG;AACH,MAAM,iBAAiB,GAA4D;IACjF,OAAO,EAAE,SAAS;IAClB,qBAAqB,EAAE,qBAAqB;IAC5C,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,YAAY;CAC3B,CAAC;AAEF,+MAA+M;AAC/M,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;;GAIG;AACH,SAAS,YAAY;IACnB,OAAO,IAAA,SAAI,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,mFAAmF;AACnF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAa/B,kFAAkF;AAClF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtF,yEAAyE;AACzE,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA4B,CAAC;QACvC,IAAA,SAAI,EAAC;YACH,6BAA6B,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,OAAO,MAAM,IAAA,YAAO,EAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAAG;SACzG,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,WAAW,CAAC,QAAiB;IACpC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAA,SAAI,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAA,SAAI,EAAC;YACH;gBACE,8DAA8D;gBAC9D,wFAAwF;aACzF,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe,CAAC,KAAa,EAAE,IAAa;IACnD,MAAM,MAAM,GAAG,IAAA,qBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,IAAA,SAAI,EAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,EAAE,IAAA,aAAQ,EAAC,OAAO,EAAE,GAAG,CAAC;QAC3B,SAAS,EAAE,IAAA,aAAQ,EAAC,OAAO,EAAE,SAAS,CAAC;QACvC,MAAM,EAAE,IAAA,aAAQ,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QACxC,iBAAiB,EAAE,IAAA,aAAQ,EAAC,OAAO,EAAE,iBAAiB,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,sBAAsB,CAAC,GAAY;IAC1C,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iFAAiF,CAAC;SAC9F,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACzD,cAAc,CAAC,eAAe,EAAE,+CAA+C,CAAC;SAChF,MAAM,CAAC,cAAc,EAAE,qDAAqD,CAAC;SAC7E,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;SAChF,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAChE,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,CAAC,OAAoB,EAAE,EAAE;QAC/B,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,IAAA,oCAAoB,EAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAA,SAAI,EAAC;gBACH;oBACE,cAAc,OAAO,CAAC,IAAI,uCAAuC;oBACjE,mCAAmC;wBACjC,6BAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9C,sDAAsD;iBACzD,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,GAAG,aAAa;aACjB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAA,yBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAA,SAAI,EAAC;gBACH,iBAAiB,IAAA,YAAO,EAAC,IAAI,EAAE,mBAAmB,CAAC,uNAAuN;aAC3Q,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,gCAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,wCAAwB,EAAE,CAAC;YAC3C,IAAA,SAAI,EAAC;gBACH;oBACE,WAAW,IAAI,CAAC,MAAM,sDAAsD,wCAAwB,GAAG;oBACvG,+FAA+F;iBAChG,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAA,gBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAA,qBAAgB,EAAC;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,8CAA8C,OAAO,CAAC,KAAK,EAAE;YACrE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE;YACpB,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,IAAI,MAAM,GAAG,EAAE;SACxD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,IAAY;IAEZ,IAAI,CAAC,IAAA,cAAS,EAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,IAAA,YAAO,EAAC,IAAI,EAAE,mBAAmB,CAAC,mEAAmE;SACjH,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,SAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,kBAAkB;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChF,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAA,eAAU,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,8FAA8F;AAC9F,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,IAAA,cAAS,EAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,IAAA,YAAO,EAAC,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,SAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAA,eAAU,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,kFAAkF;IAClF,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,IAAA,YAAO,EAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,mIAAmI;AACnI,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AAErE;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAsB;IAC7C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,IAAA,oCAAoB,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,sFAAsF;SACzF,CAAC,CAAC;IACL,CAAC;IACD,wFAAwF;IACxF,mFAAmF;IACnF,uFAAuF;IACvF,KAAK,MAAM,MAAM,IAAI,IAAA,yCAAyB,EAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,GAAG,IAAA,YAAO,EAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,kBAAkB,IAAI,cAAc,MAAM,CAAC,KAAK,qDAAqD;aAC/G,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,mBAAmB,IAAI,mGAAmG,IAAI,kBAAkB;aAC1J,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,mBAAmB,IAAI,iFAAiF;aAClH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,iCAAiC,QAAQ,CAAC,KAAK,qDAAqD;SAC9G,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,4CAA4C,QAAQ,CAAC,IAAI,mDAAmD;SACvI,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAA,6BAAa,EAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,mBAAmB,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,OAAO,4EAA4E;SAC1I,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uFAAuF;AACvF,SAAS,qBAAqB,CAAC,GAAY;IACzC,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,2DAA2D,CAAC;SACxE,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;SAChF,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,CAAC,OAAmB,EAAE,EAAE;QAC9B,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,gFAAgF;YAChF,qEAAqE;YACrE,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,gDAAgD,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,QAAQ,GAA2B,EAAE,CAAC;YAC5C,KAAK,MAAM,OAAO,IAAI,6BAAa,EAAE,CAAC;gBACpC,IAAI,OAAO,KAAK,iBAAiB;oBAAE,SAAS;gBAC5C,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,GAAG,QAAQ;gBACX,eAAe,EAAE,QAAQ,CAAC,cAAc;gBACxC,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACjC,GAAG;gBACH,UAAU,EAAE,SAAS;gBACrB,MAAM;aACP,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,+EAA+E;QAC/E,sEAAsE;QACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,sFAAsF;AACtF,SAAS,0BAA0B,CAAC,GAAY;IAC9C,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,mFAAmF,CACpF;SACA,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;SAChF,MAAM,CAAC,CAAC,OAAwB,EAAE,EAAE;QACnC,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,iCAAiC,OAAO,CAAC,KAAK,0CAA0C;aAClG,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,4EAA4E;YAC5E,8EAA8E;YAC9E,gDAAgD;YAChD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,8BAA8B,KAAK,CAAC,MAAM,IAAI,SAAS,kBAAkB,KAAK,CAAC,iBAAiB,IAAI,SAAS,mFAAmF;iBAC1M,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,+DAA+D;AAC/D,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8DAA8D,CAAC,CAAC;IAE/E,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/plan-artifact.d.ts
CHANGED
|
@@ -48,6 +48,11 @@ export interface PlanArtifact {
|
|
|
48
48
|
sections: Record<PlanSection, string>;
|
|
49
49
|
/** Repo-relative paths extracted from the Predicted Files section. */
|
|
50
50
|
predictedFiles: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Predicted-file paths whose bullet carries the `(new)` marker — the issue's scope is to
|
|
53
|
+
* create them, so `validate` skips the missing-at-HEAD check for exactly these paths.
|
|
54
|
+
*/
|
|
55
|
+
newFiles: Set<string>;
|
|
51
56
|
}
|
|
52
57
|
/**
|
|
53
58
|
* Parse the marker line of a comment body.
|
|
@@ -60,14 +65,30 @@ export declare function parsePlanMarker(body: string): {
|
|
|
60
65
|
head: string;
|
|
61
66
|
} | null;
|
|
62
67
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* The format (pinned in docs/reference/plan-artifact.md) is a bullet whose path is either
|
|
66
|
-
* backticked — `- `path/to/file.ts` — why` — or the first bare token — `- path/to/file.ts
|
|
67
|
-
* — why`. Backticks win when present so a reason containing slashes cannot masquerade as
|
|
68
|
-
* a path.
|
|
68
|
+
* One parsed Predicted Files bullet: its path, and whether it carries the `(new)` marker
|
|
69
|
+
* — see {@link parsePredictedFileBullets} for the bullet grammar.
|
|
69
70
|
*/
|
|
71
|
+
export interface PredictedFileBullet {
|
|
72
|
+
path: string;
|
|
73
|
+
isNew: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Every Predicted Files bullet, one per line — see {@link parseOneBullet} for the bullet
|
|
77
|
+
* grammar. The single parse pass `extractPredictedFiles`, `extractNewPredictedFiles`, and
|
|
78
|
+
* `plan validate`'s per-file loop all derive their answer from, so the section is only
|
|
79
|
+
* ever split and matched once.
|
|
80
|
+
*/
|
|
81
|
+
export declare function parsePredictedFileBullets(sectionBody: string): PredictedFileBullet[];
|
|
82
|
+
/** Repo-relative paths from the Predicted Files section, one per bullet — see {@link parsePredictedFileBullets}. */
|
|
70
83
|
export declare function extractPredictedFiles(sectionBody: string): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Paths whose Predicted Files bullet carries the `(new)` marker — see
|
|
86
|
+
* {@link parsePredictedFileBullets}. These declare a file the issue's scope is to CREATE,
|
|
87
|
+
* so `plan validate` skips the missing-at-HEAD check for exactly these paths and instead
|
|
88
|
+
* warns when one already exists. Never a superset of {@link extractPredictedFiles}'s
|
|
89
|
+
* result.
|
|
90
|
+
*/
|
|
91
|
+
export declare function extractNewPredictedFiles(sectionBody: string): Set<string>;
|
|
71
92
|
/**
|
|
72
93
|
* Validate a markdown document as artifact content BEFORE it is posted: every required
|
|
73
94
|
* section must be present as an `## <name>` header. Returns one error line per missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-artifact.d.ts","sourceRoot":"","sources":["../src/plan-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAKlD,wEAAwE;AACxE,eAAO,MAAM,aAAa,0FAMhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAKzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAExD,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,cAAc,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-artifact.d.ts","sourceRoot":"","sources":["../src/plan-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAKlD,wEAAwE;AACxE,eAAO,MAAM,aAAa,0FAMhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAKzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAExD,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIrE;AAmBD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AA6BD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAOpF;AAED,oHAAoH;AACpH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAG/D;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkBnE;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI,CAOzE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC;AAcD,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAwB1D,CAAC;AAEF,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAQhG"}
|
package/dist/plan-artifact.js
CHANGED
|
@@ -16,7 +16,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
exports.RISK_FLOOR_PATTERNS = exports.MAX_ARTIFACT_BODY_LENGTH = exports.PLAN_SECTIONS = exports.PLAN_MARKER_PREFIX = void 0;
|
|
17
17
|
exports.isHeadSha = isHeadSha;
|
|
18
18
|
exports.parsePlanMarker = parsePlanMarker;
|
|
19
|
+
exports.parsePredictedFileBullets = parsePredictedFileBullets;
|
|
19
20
|
exports.extractPredictedFiles = extractPredictedFiles;
|
|
21
|
+
exports.extractNewPredictedFiles = extractNewPredictedFiles;
|
|
20
22
|
exports.validateArtifactBody = validateArtifactBody;
|
|
21
23
|
exports.buildPlanComment = buildPlanComment;
|
|
22
24
|
exports.parsePlanArtifact = parsePlanArtifact;
|
|
@@ -90,29 +92,62 @@ function extractSection(markdown, name) {
|
|
|
90
92
|
return collected.join('\n').trim();
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
|
-
*
|
|
95
|
+
* Parse one Predicted Files bullet line, or `null` when the line is not a bullet / has no
|
|
96
|
+
* path.
|
|
94
97
|
*
|
|
95
98
|
* The format (pinned in docs/reference/plan-artifact.md) is a bullet whose path is either
|
|
96
99
|
* backticked — `- `path/to/file.ts` — why` — or the first bare token — `- path/to/file.ts
|
|
97
100
|
* — why`. Backticks win when present so a reason containing slashes cannot masquerade as
|
|
98
|
-
* a path.
|
|
101
|
+
* a path. A path immediately followed by `(new)` (case-insensitive, before the `—`/`-`
|
|
102
|
+
* separator if any) declares the file does not exist yet — the issue's scope is to create
|
|
103
|
+
* it — e.g. `- \`path/to/new-file.ts\` (new) — why`.
|
|
99
104
|
*/
|
|
100
|
-
function
|
|
101
|
-
const
|
|
105
|
+
function parseOneBullet(line) {
|
|
106
|
+
const bullet = /^\s*[-*]\s+(.*)$/.exec(line);
|
|
107
|
+
if (!bullet)
|
|
108
|
+
return null;
|
|
109
|
+
const item = bullet[1].trim();
|
|
110
|
+
if (item === '')
|
|
111
|
+
return null;
|
|
112
|
+
const codeSpan = /^`([^`]+)`/.exec(item);
|
|
113
|
+
const candidate = codeSpan ? codeSpan[1] : item.split(/\s+/)[0];
|
|
114
|
+
const path = candidate.replace(/[,;:]$/, '').trim();
|
|
115
|
+
if (path === '')
|
|
116
|
+
return null;
|
|
117
|
+
const rest = item.slice(codeSpan ? codeSpan[0].length : candidate.length);
|
|
118
|
+
const isNew = /^\s*\(new\)/i.test(rest);
|
|
119
|
+
return { path, isNew };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Every Predicted Files bullet, one per line — see {@link parseOneBullet} for the bullet
|
|
123
|
+
* grammar. The single parse pass `extractPredictedFiles`, `extractNewPredictedFiles`, and
|
|
124
|
+
* `plan validate`'s per-file loop all derive their answer from, so the section is only
|
|
125
|
+
* ever split and matched once.
|
|
126
|
+
*/
|
|
127
|
+
function parsePredictedFileBullets(sectionBody) {
|
|
128
|
+
const bullets = [];
|
|
102
129
|
for (const line of sectionBody.split('\n')) {
|
|
103
|
-
const bullet =
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
const item = bullet[1].trim();
|
|
107
|
-
if (item === '')
|
|
108
|
-
continue;
|
|
109
|
-
const codeSpan = /^`([^`]+)`/.exec(item);
|
|
110
|
-
const candidate = codeSpan ? codeSpan[1] : item.split(/\s+/)[0];
|
|
111
|
-
const path = candidate.replace(/[,;:]$/, '').trim();
|
|
112
|
-
if (path !== '')
|
|
113
|
-
paths.push(path);
|
|
130
|
+
const bullet = parseOneBullet(line);
|
|
131
|
+
if (bullet)
|
|
132
|
+
bullets.push(bullet);
|
|
114
133
|
}
|
|
115
|
-
return
|
|
134
|
+
return bullets;
|
|
135
|
+
}
|
|
136
|
+
/** Repo-relative paths from the Predicted Files section, one per bullet — see {@link parsePredictedFileBullets}. */
|
|
137
|
+
function extractPredictedFiles(sectionBody) {
|
|
138
|
+
return parsePredictedFileBullets(sectionBody).map((b) => b.path);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Paths whose Predicted Files bullet carries the `(new)` marker — see
|
|
142
|
+
* {@link parsePredictedFileBullets}. These declare a file the issue's scope is to CREATE,
|
|
143
|
+
* so `plan validate` skips the missing-at-HEAD check for exactly these paths and instead
|
|
144
|
+
* warns when one already exists. Never a superset of {@link extractPredictedFiles}'s
|
|
145
|
+
* result.
|
|
146
|
+
*/
|
|
147
|
+
function extractNewPredictedFiles(sectionBody) {
|
|
148
|
+
return new Set(parsePredictedFileBullets(sectionBody)
|
|
149
|
+
.filter((b) => b.isNew)
|
|
150
|
+
.map((b) => b.path));
|
|
116
151
|
}
|
|
117
152
|
/**
|
|
118
153
|
* Validate a markdown document as artifact content BEFORE it is posted: every required
|
|
@@ -144,12 +179,14 @@ function parsePlanArtifact(body) {
|
|
|
144
179
|
for (const section of exports.PLAN_SECTIONS) {
|
|
145
180
|
sections[section] = extractSection(markdown, section) ?? '';
|
|
146
181
|
}
|
|
182
|
+
const predictedFileBullets = parsePredictedFileBullets(sections['Predicted Files']);
|
|
147
183
|
return {
|
|
148
184
|
head: marker.head,
|
|
149
185
|
raw: body,
|
|
150
186
|
markdown,
|
|
151
187
|
sections,
|
|
152
|
-
predictedFiles:
|
|
188
|
+
predictedFiles: predictedFileBullets.map((b) => b.path),
|
|
189
|
+
newFiles: new Set(predictedFileBullets.filter((b) => b.isNew).map((b) => b.path)),
|
|
153
190
|
};
|
|
154
191
|
}
|
|
155
192
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-artifact.js","sourceRoot":"","sources":["../src/plan-artifact.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAmCH,8BAEC;
|
|
1
|
+
{"version":3,"file":"plan-artifact.js","sourceRoot":"","sources":["../src/plan-artifact.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-dossier/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Create, verify, sign, publish, and run dossiers — portable, signed, versioned skills for any LLM tool. The dossier ⇄ Claude Code skill bridge (install-skill / skill-export).",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|