@llm4ts/flow 2.47.0 → 2.47.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/dist/GraphRules.d.ts +23 -2
- package/dist/GraphRules.d.ts.map +1 -1
- package/dist/GraphRules.js +53 -4
- package/dist/GraphRules.js.map +1 -1
- package/dist/Survey.d.ts.map +1 -1
- package/dist/Survey.js +54 -17
- package/dist/Survey.js.map +1 -1
- package/package.json +2 -2
- package/src/GraphRules.ts +66 -4
- package/src/Survey.ts +68 -18
package/dist/GraphRules.d.ts
CHANGED
|
@@ -29,10 +29,25 @@ declare const EdgeRule_base: Schema.Class<EdgeRule, Schema.Struct<{
|
|
|
29
29
|
readonly toKind: Schema.String;
|
|
30
30
|
/** A folded `## Survey:` rule: the target is the first positional group (or the whole match), as before ADR 0030. */
|
|
31
31
|
readonly positional: Schema.optionalKey<Schema.Boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* What a `to: file` capture no unit owns becomes: `keep` (default) an edge
|
|
34
|
+
* to the literal plus an `edge-target` hole, as Survey rules always did;
|
|
35
|
+
* `drop` nothing at all — for class-based languages whose imports mostly
|
|
36
|
+
* name the platform (`java.util.ArrayList`), not the estate.
|
|
37
|
+
*/
|
|
38
|
+
readonly unknown: Schema.optionalKey<Schema.Literals<readonly ["keep", "drop"]>>;
|
|
32
39
|
}>, {}>;
|
|
33
40
|
export declare class EdgeRule extends EdgeRule_base {
|
|
34
41
|
}
|
|
35
|
-
|
|
42
|
+
/**
|
|
43
|
+
* `exact`: trimmed string equality. `exact-ci`: the same ignoring case (an EL
|
|
44
|
+
* `${invoiceBean}` against a class `InvoiceBean`). `url`: servlet-spec
|
|
45
|
+
* matching of a request against a `url-pattern`. `url-path`: the target's
|
|
46
|
+
* path segments occur contiguously inside the request's, `{param}` matching
|
|
47
|
+
* any one segment — a JAX-RS `@Path("/invoices")` under a context root and
|
|
48
|
+
* an application path, called as `/bank/rest/invoices/42`.
|
|
49
|
+
*/
|
|
50
|
+
export declare const JoinMatchMode: Schema.Literals<readonly ["exact", "exact-ci", "url", "url-path"]>;
|
|
36
51
|
export type JoinMatchMode = typeof JoinMatchMode.Type;
|
|
37
52
|
export declare const JoinScope: Schema.Literals<readonly ["estate", "app", "file"]>;
|
|
38
53
|
export type JoinScope = typeof JoinScope.Type;
|
|
@@ -42,7 +57,7 @@ declare const JoinRule_base: Schema.Class<JoinRule, Schema.Struct<{
|
|
|
42
57
|
readonly fromAttr: Schema.String;
|
|
43
58
|
readonly toKind: Schema.String;
|
|
44
59
|
readonly toAttr: Schema.String;
|
|
45
|
-
readonly match: Schema.Literals<readonly ["exact", "url"]>;
|
|
60
|
+
readonly match: Schema.Literals<readonly ["exact", "exact-ci", "url", "url-path"]>;
|
|
46
61
|
readonly scope: Schema.Literals<readonly ["estate", "app", "file"]>;
|
|
47
62
|
}>, {}>;
|
|
48
63
|
export declare class JoinRule extends JoinRule_base {
|
|
@@ -82,5 +97,11 @@ export declare const normalizeUrl: (raw: string) => string;
|
|
|
82
97
|
* reads the raw pattern, since normalising `*.do` would prefix a slash.
|
|
83
98
|
*/
|
|
84
99
|
export declare const matchUrl: (request: string, pattern: string) => JoinMatch | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* `url-path` matching: the pattern's segments occur contiguously, in order,
|
|
102
|
+
* somewhere in the request's; `{param}` matches any single segment. A pattern
|
|
103
|
+
* with no literal segment never matches.
|
|
104
|
+
*/
|
|
105
|
+
export declare const matchUrlPath: (request: string, pattern: string) => JoinMatch | undefined;
|
|
85
106
|
export {};
|
|
86
107
|
//# sourceMappingURL=GraphRules.d.ts.map
|
package/dist/GraphRules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRules.d.ts","sourceRoot":"","sources":["../src/GraphRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;;;;;;;IAe1C,6EAA6E;;;AAb/E;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,aAQ5B;CAAG;;;;;;;IAQH,qHAAqH;;;
|
|
1
|
+
{"version":3,"file":"GraphRules.d.ts","sourceRoot":"","sources":["../src/GraphRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;;;;;;;IAe1C,6EAA6E;;;AAb/E;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,aAQ5B;CAAG;;;;;;;IAQH,qHAAqH;;IAErH;;;;;OAKG;;;AAbL,qBAAa,QAAS,SAAQ,aAe5B;CAAG;AAEL;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,oEAA4D,CAAA;AACtF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AACrD,eAAO,MAAM,SAAS,qDAA6C,CAAA;AACnE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;;;;;;;;;;AAE7C,qBAAa,QAAS,SAAQ,aAQ5B;CAAG;;;;;;AAEL,qBAAa,SAAU,SAAQ,cAI7B;CAAG;AAEL,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,eAAe,EAAE,UAO7B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,YAAY,KAAG,QAQlD,CAAA;AAgDJ,eAAO,MAAM,eAAe,GAC1B,UAAU,aAAa,CAAC,MAAM,CAAC,EAC/B,QAAQ,aAAa,CAAC,YAAY,CAAC,KAClC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAiIvC,CAAA;AAEJ,6EAA6E;AAC7E,eAAO,MAAM,WAAW,GAAI,OAAO,UAAU,KAAG,WAAW,CAAC,MAAM,CAC2B,CAAA;AAE7F,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,OAAO,UAAU,KAAG,MACkC,CAAA;AAErF,8FAA8F;AAC9F,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAY1C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,SAAS,GAAG,SAcvE,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,SAAS,GAAG,SAmB3E,CAAA"}
|
package/dist/GraphRules.js
CHANGED
|
@@ -26,10 +26,25 @@ export class EdgeRule extends Schema.Class("EdgeRule")({
|
|
|
26
26
|
fromKind: Schema.String,
|
|
27
27
|
toKind: Schema.String,
|
|
28
28
|
/** A folded `## Survey:` rule: the target is the first positional group (or the whole match), as before ADR 0030. */
|
|
29
|
-
positional: Schema.optionalKey(Schema.Boolean)
|
|
29
|
+
positional: Schema.optionalKey(Schema.Boolean),
|
|
30
|
+
/**
|
|
31
|
+
* What a `to: file` capture no unit owns becomes: `keep` (default) an edge
|
|
32
|
+
* to the literal plus an `edge-target` hole, as Survey rules always did;
|
|
33
|
+
* `drop` nothing at all — for class-based languages whose imports mostly
|
|
34
|
+
* name the platform (`java.util.ArrayList`), not the estate.
|
|
35
|
+
*/
|
|
36
|
+
unknown: Schema.optionalKey(Schema.Literals(["keep", "drop"]))
|
|
30
37
|
}) {
|
|
31
38
|
}
|
|
32
|
-
|
|
39
|
+
/**
|
|
40
|
+
* `exact`: trimmed string equality. `exact-ci`: the same ignoring case (an EL
|
|
41
|
+
* `${invoiceBean}` against a class `InvoiceBean`). `url`: servlet-spec
|
|
42
|
+
* matching of a request against a `url-pattern`. `url-path`: the target's
|
|
43
|
+
* path segments occur contiguously inside the request's, `{param}` matching
|
|
44
|
+
* any one segment — a JAX-RS `@Path("/invoices")` under a context root and
|
|
45
|
+
* an application path, called as `/bank/rest/invoices/42`.
|
|
46
|
+
*/
|
|
47
|
+
export const JoinMatchMode = Schema.Literals(["exact", "exact-ci", "url", "url-path"]);
|
|
33
48
|
export const JoinScope = Schema.Literals(["estate", "app", "file"]);
|
|
34
49
|
export class JoinRule extends Schema.Class("JoinRule")({
|
|
35
50
|
kind: Schema.String,
|
|
@@ -143,12 +158,18 @@ export const parseGraphRules = (sections, survey) => Effect.gen(function* () {
|
|
|
143
158
|
if (!fields.pattern.includes("(?<to>")) {
|
|
144
159
|
return yield* fail(`'${heading}' pattern needs a (?<to>…) group`);
|
|
145
160
|
}
|
|
161
|
+
if (fields.unknown !== undefined &&
|
|
162
|
+
fields.unknown !== "keep" &&
|
|
163
|
+
fields.unknown !== "drop") {
|
|
164
|
+
return yield* fail(`'${heading}' unknown: must be 'keep' or 'drop', got '${fields.unknown}'`);
|
|
165
|
+
}
|
|
146
166
|
edges.push(EdgeRule.make({
|
|
147
167
|
kind,
|
|
148
168
|
files: fields.files,
|
|
149
169
|
pattern: fields.pattern,
|
|
150
170
|
fromKind: fields.from ?? "file",
|
|
151
|
-
toKind: fields.to ?? "file"
|
|
171
|
+
toKind: fields.to ?? "file",
|
|
172
|
+
...(fields.unknown === "drop" ? { unknown: "drop" } : {})
|
|
152
173
|
}));
|
|
153
174
|
}
|
|
154
175
|
else if (heading.startsWith("## Join: ")) {
|
|
@@ -158,7 +179,13 @@ export const parseGraphRules = (sections, survey) => Effect.gen(function* () {
|
|
|
158
179
|
if (from === undefined || to === undefined) {
|
|
159
180
|
return yield* fail(`'${heading}' needs 'from: <kind>.<attr>' and 'to: <kind>.<attr>'`);
|
|
160
181
|
}
|
|
161
|
-
const
|
|
182
|
+
const modes = ["exact", "exact-ci", "url", "url-path"];
|
|
183
|
+
const match = modes.find((mode) => mode === (fields.match ?? "exact"));
|
|
184
|
+
if (match === undefined) {
|
|
185
|
+
return yield* fail(`'${heading}' match: must be one of ${modes.join(", ")}, got '${fields.match}'`);
|
|
186
|
+
}
|
|
187
|
+
// A servlet url-pattern is per web app; a REST resource class usually
|
|
188
|
+
// lives outside the app directory, so url-path defaults to the estate.
|
|
162
189
|
const scope = fields.scope === "file" || fields.scope === "app" || fields.scope === "estate"
|
|
163
190
|
? fields.scope
|
|
164
191
|
: match === "url"
|
|
@@ -243,4 +270,26 @@ export const matchUrl = (request, pattern) => {
|
|
|
243
270
|
}
|
|
244
271
|
return undefined;
|
|
245
272
|
};
|
|
273
|
+
const segmentsOf = (url) => url.split("/").filter((s) => s.length > 0);
|
|
274
|
+
/**
|
|
275
|
+
* `url-path` matching: the pattern's segments occur contiguously, in order,
|
|
276
|
+
* somewhere in the request's; `{param}` matches any single segment. A pattern
|
|
277
|
+
* with no literal segment never matches.
|
|
278
|
+
*/
|
|
279
|
+
export const matchUrlPath = (request, pattern) => {
|
|
280
|
+
const want = segmentsOf(normalizeUrl(pattern));
|
|
281
|
+
const have = segmentsOf(request);
|
|
282
|
+
if (want.length === 0 ||
|
|
283
|
+
want.every((segment) => /^\{.*\}$/.test(segment)) ||
|
|
284
|
+
want.length > have.length) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
for (let start = 0; start + want.length <= have.length; start += 1) {
|
|
288
|
+
const hit = want.every((segment, index) => /^\{.*\}$/.test(segment) || segment === have[start + index]);
|
|
289
|
+
if (hit) {
|
|
290
|
+
return "prefix";
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return undefined;
|
|
294
|
+
};
|
|
246
295
|
//# sourceMappingURL=GraphRules.js.map
|
package/dist/GraphRules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRules.js","sourceRoot":"","sources":["../src/GraphRules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphRules.js","sourceRoot":"","sources":["../src/GraphRules.ts"],"names":[],"mappings":"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"}
|
package/dist/Survey.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Survey.d.ts","sourceRoot":"","sources":["../src/Survey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"Survey.d.ts","sourceRoot":"","sources":["../src/Survey.ts"],"names":[],"mappings":"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"}
|
package/dist/Survey.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import * as Schema from "effect/Schema";
|
|
4
4
|
import { PlanParseError } from "./FlowError.js";
|
|
5
|
-
import { edgeRuleOfSurvey, emptyGraphRules, matchUrl, normalizeUrl } from "./GraphRules.js";
|
|
5
|
+
import { edgeRuleOfSurvey, emptyGraphRules, matchUrl, matchUrlPath, normalizeUrl } from "./GraphRules.js";
|
|
6
6
|
export const GraphOrigin = Schema.Literals(["scanner", "llm", "external"]);
|
|
7
7
|
export const GraphConfidence = Schema.Literals(["exact", "inferred"]);
|
|
8
8
|
export const GraphMechanism = Schema.Literals([
|
|
@@ -491,9 +491,12 @@ const scanEdges = (paths, contents, nodes, rules) => {
|
|
|
491
491
|
.filter((node) => nodeLineStart(node) >= startLine && nodeLineStart(node) <= endLine)
|
|
492
492
|
.map(nodeId));
|
|
493
493
|
}
|
|
494
|
-
else if (target.found || rule.toKind === "file") {
|
|
494
|
+
else if (target.found || (rule.toKind === "file" && rule.unknown !== "drop")) {
|
|
495
495
|
targets.push(target.id);
|
|
496
496
|
}
|
|
497
|
+
if (!target.found && rule.unknown === "drop") {
|
|
498
|
+
continue;
|
|
499
|
+
}
|
|
497
500
|
if (!target.found) {
|
|
498
501
|
unresolved.push(Unresolved.make({
|
|
499
502
|
reason: "edge-target",
|
|
@@ -554,11 +557,15 @@ const joinRank = { exact: 0, prefix: 1, extension: 2 };
|
|
|
554
557
|
/** A join attr: a named group copied into attrs, or the node's own name for `name`. */
|
|
555
558
|
const attrOf = (node, attr) => attr === "name" ? node.name : nodeAttrs(node)[attr];
|
|
556
559
|
const llm = "llm";
|
|
557
|
-
const joinEdges = (nodes, fills, rules, roots
|
|
560
|
+
const joinEdges = (nodes, fills, rules, roots,
|
|
561
|
+
/** Ids that already have an outgoing captured edge: a source an Edge rule resolved is no join hole. */
|
|
562
|
+
linked) => {
|
|
558
563
|
const filled = new Set(fills.map((fill) => `${fill.node}\u0000${fill.key}`));
|
|
559
564
|
const edges = [];
|
|
560
565
|
const unresolved = [];
|
|
561
566
|
const seen = new Set();
|
|
567
|
+
/** `kind\0source` of every source that had the attr but no match under some rule of that kind. */
|
|
568
|
+
const missed = new Map();
|
|
562
569
|
for (const rule of rules) {
|
|
563
570
|
const sources = nodes.filter((node) => nodeKind(node) === rule.fromKind);
|
|
564
571
|
const targets = nodes.filter((node) => nodeKind(node) === rule.toKind);
|
|
@@ -574,7 +581,11 @@ const joinEdges = (nodes, fills, rules, roots) => {
|
|
|
574
581
|
}));
|
|
575
582
|
continue;
|
|
576
583
|
}
|
|
577
|
-
const request = rule.match === "url"
|
|
584
|
+
const request = rule.match === "url" || rule.match === "url-path"
|
|
585
|
+
? normalizeUrl(raw)
|
|
586
|
+
: rule.match === "exact-ci"
|
|
587
|
+
? raw.trim().toLowerCase()
|
|
588
|
+
: raw.trim();
|
|
578
589
|
const inScope = targets.filter((target) => rule.scope === "file"
|
|
579
590
|
? target.path === source.path
|
|
580
591
|
: rule.scope === "app"
|
|
@@ -587,22 +598,24 @@ const joinEdges = (nodes, fills, rules, roots) => {
|
|
|
587
598
|
}
|
|
588
599
|
const how = rule.match === "url"
|
|
589
600
|
? matchUrl(request, value)
|
|
590
|
-
:
|
|
591
|
-
?
|
|
592
|
-
:
|
|
601
|
+
: rule.match === "url-path"
|
|
602
|
+
? matchUrlPath(request, value)
|
|
603
|
+
: rule.match === "exact-ci"
|
|
604
|
+
? value.trim().toLowerCase() === request
|
|
605
|
+
? "exact"
|
|
606
|
+
: undefined
|
|
607
|
+
: value.trim() === request
|
|
608
|
+
? "exact"
|
|
609
|
+
: undefined;
|
|
593
610
|
return how === undefined ? [] : [{ target, how, value }];
|
|
594
611
|
});
|
|
595
612
|
// Servlet-spec order: exact beats the longest prefix beats an extension.
|
|
596
613
|
const best = matched.sort((left, right) => joinRank[left.how] - joinRank[right.how] || right.value.length - left.value.length)[0];
|
|
597
614
|
if (best === undefined) {
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
reference: raw,
|
|
603
|
-
file: source.path,
|
|
604
|
-
line: nodeLineStart(source)
|
|
605
|
-
}));
|
|
615
|
+
const key = `${rule.kind}\u0000${nodeId(source)}`;
|
|
616
|
+
if (!missed.has(key)) {
|
|
617
|
+
missed.set(key, { rule, source, raw });
|
|
618
|
+
}
|
|
606
619
|
continue;
|
|
607
620
|
}
|
|
608
621
|
const inferred = filled.has(`${nodeId(source)}\u0000${rule.fromAttr}`) ||
|
|
@@ -628,6 +641,23 @@ const joinEdges = (nodes, fills, rules, roots) => {
|
|
|
628
641
|
}
|
|
629
642
|
}
|
|
630
643
|
}
|
|
644
|
+
// A join source is a hole only when NO rule of its kind matched it and
|
|
645
|
+
// nothing else links from it — a form whose action an Edge rule resolved
|
|
646
|
+
// to a page, or a mapping wired by the other servlet-wiring section, is not.
|
|
647
|
+
const joinedFrom = new Set(edges.map((edge) => edge.from));
|
|
648
|
+
for (const miss of missed.values()) {
|
|
649
|
+
if (joinedFrom.has(nodeId(miss.source)) || linked.has(nodeId(miss.source))) {
|
|
650
|
+
continue;
|
|
651
|
+
}
|
|
652
|
+
unresolved.push(Unresolved.make({
|
|
653
|
+
reason: "join-from",
|
|
654
|
+
rule: miss.rule.kind,
|
|
655
|
+
node: nodeId(miss.source),
|
|
656
|
+
reference: miss.raw,
|
|
657
|
+
file: miss.source.path,
|
|
658
|
+
line: nodeLineStart(miss.source)
|
|
659
|
+
}));
|
|
660
|
+
}
|
|
631
661
|
// A join target nothing reaches, reported once per node whatever the kind:
|
|
632
662
|
// a mapping hit by a form but by no ajax call is wired, not a hole.
|
|
633
663
|
const reached = new Set(edges.map((edge) => edge.to));
|
|
@@ -660,14 +690,21 @@ const joinEdges = (nodes, fills, rules, roots) => {
|
|
|
660
690
|
export const applyFillsAndJoins = (graph, fills, rules, paths = graph.nodes.map((node) => node.path)) => {
|
|
661
691
|
const nodes = withFills(graph.nodes, fills);
|
|
662
692
|
const kept = graph.edges.filter((edge) => !(edge.mechanism ?? "").startsWith("join:"));
|
|
663
|
-
const joined = joinEdges(nodes, fills, rules.joins, appRoots(paths));
|
|
693
|
+
const joined = joinEdges(nodes, fills, rules.joins, appRoots(paths), new Set(kept.map((edge) => edge.from)));
|
|
664
694
|
const edges = [...kept, ...joined.edges];
|
|
665
695
|
const projected = projectToFiles(SurveyGraph.make({ nodes, edges, unresolved: [], fills }));
|
|
666
696
|
// A file that only holds wiring records (web.xml) is a descriptor file, not
|
|
667
|
-
// a unit nothing references: it never counts as isolated.
|
|
697
|
+
// a unit nothing references: it never counts as isolated. Nor does a file no
|
|
698
|
+
// rule scans: a DTO under `sources:` with no Java rule is unscanned, not dead.
|
|
699
|
+
// A file that owns sub-file nodes is structured, not dead: its holes are
|
|
700
|
+
// reported per node (an ajax call nothing maps), never as `isolated` too.
|
|
668
701
|
const wiringFiles = new Set(nodes.filter(isDescriptor).map((node) => node.path));
|
|
702
|
+
const structured = new Set(nodes.filter((node) => nodeKind(node) !== "file").map((node) => node.path));
|
|
703
|
+
const scanned = [...rules.nodes, ...rules.edges].map((rule) => new RegExp(rule.files));
|
|
669
704
|
const isolated = projected.nodes
|
|
670
705
|
.filter((node) => !wiringFiles.has(node.path) &&
|
|
706
|
+
!structured.has(node.path) &&
|
|
707
|
+
scanned.some((pattern) => pattern.test(node.path)) &&
|
|
671
708
|
projected.incoming(node.name).length === 0 &&
|
|
672
709
|
projected.outgoing(node.name).length === 0)
|
|
673
710
|
.map((node) => Unresolved.make({
|
package/dist/Survey.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Survey.js","sourceRoot":"","sources":["../src/Survey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Survey.js","sourceRoot":"","sources":["../src/Survey.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@llm4ts/flow",
|
|
3
|
-
"version": "2.47.
|
|
3
|
+
"version": "2.47.2",
|
|
4
4
|
"description": "Effect-native LLM workflow, persistence, review, and repository automation",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"typescript"
|
|
131
131
|
],
|
|
132
132
|
"dependencies": {
|
|
133
|
-
"@llm4ts/core": "2.47.
|
|
133
|
+
"@llm4ts/core": "2.47.2"
|
|
134
134
|
},
|
|
135
135
|
"peerDependencies": {
|
|
136
136
|
"effect": "4.0.0"
|
package/src/GraphRules.ts
CHANGED
|
@@ -29,10 +29,25 @@ export class EdgeRule extends Schema.Class<EdgeRule>("EdgeRule")({
|
|
|
29
29
|
fromKind: Schema.String,
|
|
30
30
|
toKind: Schema.String,
|
|
31
31
|
/** A folded `## Survey:` rule: the target is the first positional group (or the whole match), as before ADR 0030. */
|
|
32
|
-
positional: Schema.optionalKey(Schema.Boolean)
|
|
32
|
+
positional: Schema.optionalKey(Schema.Boolean),
|
|
33
|
+
/**
|
|
34
|
+
* What a `to: file` capture no unit owns becomes: `keep` (default) an edge
|
|
35
|
+
* to the literal plus an `edge-target` hole, as Survey rules always did;
|
|
36
|
+
* `drop` nothing at all — for class-based languages whose imports mostly
|
|
37
|
+
* name the platform (`java.util.ArrayList`), not the estate.
|
|
38
|
+
*/
|
|
39
|
+
unknown: Schema.optionalKey(Schema.Literals(["keep", "drop"]))
|
|
33
40
|
}) {}
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
/**
|
|
43
|
+
* `exact`: trimmed string equality. `exact-ci`: the same ignoring case (an EL
|
|
44
|
+
* `${invoiceBean}` against a class `InvoiceBean`). `url`: servlet-spec
|
|
45
|
+
* matching of a request against a `url-pattern`. `url-path`: the target's
|
|
46
|
+
* path segments occur contiguously inside the request's, `{param}` matching
|
|
47
|
+
* any one segment — a JAX-RS `@Path("/invoices")` under a context root and
|
|
48
|
+
* an application path, called as `/bank/rest/invoices/42`.
|
|
49
|
+
*/
|
|
50
|
+
export const JoinMatchMode = Schema.Literals(["exact", "exact-ci", "url", "url-path"])
|
|
36
51
|
export type JoinMatchMode = typeof JoinMatchMode.Type
|
|
37
52
|
export const JoinScope = Schema.Literals(["estate", "app", "file"])
|
|
38
53
|
export type JoinScope = typeof JoinScope.Type
|
|
@@ -179,13 +194,23 @@ export const parseGraphRules = (
|
|
|
179
194
|
if (!fields.pattern.includes("(?<to>")) {
|
|
180
195
|
return yield* fail(`'${heading}' pattern needs a (?<to>…) group`)
|
|
181
196
|
}
|
|
197
|
+
if (
|
|
198
|
+
fields.unknown !== undefined &&
|
|
199
|
+
fields.unknown !== "keep" &&
|
|
200
|
+
fields.unknown !== "drop"
|
|
201
|
+
) {
|
|
202
|
+
return yield* fail(
|
|
203
|
+
`'${heading}' unknown: must be 'keep' or 'drop', got '${fields.unknown}'`
|
|
204
|
+
)
|
|
205
|
+
}
|
|
182
206
|
edges.push(
|
|
183
207
|
EdgeRule.make({
|
|
184
208
|
kind,
|
|
185
209
|
files: fields.files,
|
|
186
210
|
pattern: fields.pattern,
|
|
187
211
|
fromKind: fields.from ?? "file",
|
|
188
|
-
toKind: fields.to ?? "file"
|
|
212
|
+
toKind: fields.to ?? "file",
|
|
213
|
+
...(fields.unknown === "drop" ? { unknown: "drop" as const } : {})
|
|
189
214
|
})
|
|
190
215
|
)
|
|
191
216
|
} else if (heading.startsWith("## Join: ")) {
|
|
@@ -195,7 +220,15 @@ export const parseGraphRules = (
|
|
|
195
220
|
if (from === undefined || to === undefined) {
|
|
196
221
|
return yield* fail(`'${heading}' needs 'from: <kind>.<attr>' and 'to: <kind>.<attr>'`)
|
|
197
222
|
}
|
|
198
|
-
const
|
|
223
|
+
const modes: ReadonlyArray<JoinMatchMode> = ["exact", "exact-ci", "url", "url-path"]
|
|
224
|
+
const match = modes.find((mode) => mode === (fields.match ?? "exact"))
|
|
225
|
+
if (match === undefined) {
|
|
226
|
+
return yield* fail(
|
|
227
|
+
`'${heading}' match: must be one of ${modes.join(", ")}, got '${fields.match}'`
|
|
228
|
+
)
|
|
229
|
+
}
|
|
230
|
+
// A servlet url-pattern is per web app; a REST resource class usually
|
|
231
|
+
// lives outside the app directory, so url-path defaults to the estate.
|
|
199
232
|
const scope: JoinScope =
|
|
200
233
|
fields.scope === "file" || fields.scope === "app" || fields.scope === "estate"
|
|
201
234
|
? fields.scope
|
|
@@ -291,3 +324,32 @@ export const matchUrl = (request: string, pattern: string): JoinMatch | undefine
|
|
|
291
324
|
}
|
|
292
325
|
return undefined
|
|
293
326
|
}
|
|
327
|
+
|
|
328
|
+
const segmentsOf = (url: string): ReadonlyArray<string> =>
|
|
329
|
+
url.split("/").filter((s) => s.length > 0)
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* `url-path` matching: the pattern's segments occur contiguously, in order,
|
|
333
|
+
* somewhere in the request's; `{param}` matches any single segment. A pattern
|
|
334
|
+
* with no literal segment never matches.
|
|
335
|
+
*/
|
|
336
|
+
export const matchUrlPath = (request: string, pattern: string): JoinMatch | undefined => {
|
|
337
|
+
const want = segmentsOf(normalizeUrl(pattern))
|
|
338
|
+
const have = segmentsOf(request)
|
|
339
|
+
if (
|
|
340
|
+
want.length === 0 ||
|
|
341
|
+
want.every((segment) => /^\{.*\}$/.test(segment)) ||
|
|
342
|
+
want.length > have.length
|
|
343
|
+
) {
|
|
344
|
+
return undefined
|
|
345
|
+
}
|
|
346
|
+
for (let start = 0; start + want.length <= have.length; start += 1) {
|
|
347
|
+
const hit = want.every(
|
|
348
|
+
(segment, index) => /^\{.*\}$/.test(segment) || segment === have[start + index]
|
|
349
|
+
)
|
|
350
|
+
if (hit) {
|
|
351
|
+
return "prefix"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
return undefined
|
|
355
|
+
}
|
package/src/Survey.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
edgeRuleOfSurvey,
|
|
7
7
|
emptyGraphRules,
|
|
8
8
|
matchUrl,
|
|
9
|
+
matchUrlPath,
|
|
9
10
|
normalizeUrl,
|
|
10
11
|
type EdgeRule,
|
|
11
12
|
type GraphRules,
|
|
@@ -641,9 +642,12 @@ const scanEdges = (
|
|
|
641
642
|
.filter((node) => nodeLineStart(node) >= startLine && nodeLineStart(node) <= endLine)
|
|
642
643
|
.map(nodeId)
|
|
643
644
|
)
|
|
644
|
-
} else if (target.found || rule.toKind === "file") {
|
|
645
|
+
} else if (target.found || (rule.toKind === "file" && rule.unknown !== "drop")) {
|
|
645
646
|
targets.push(target.id)
|
|
646
647
|
}
|
|
648
|
+
if (!target.found && rule.unknown === "drop") {
|
|
649
|
+
continue
|
|
650
|
+
}
|
|
647
651
|
if (!target.found) {
|
|
648
652
|
unresolved.push(
|
|
649
653
|
Unresolved.make({
|
|
@@ -732,7 +736,9 @@ const joinEdges = (
|
|
|
732
736
|
nodes: ReadonlyArray<SurveyNode>,
|
|
733
737
|
fills: ReadonlyArray<Fill>,
|
|
734
738
|
rules: ReadonlyArray<JoinRule>,
|
|
735
|
-
roots: ReadonlyArray<string
|
|
739
|
+
roots: ReadonlyArray<string>,
|
|
740
|
+
/** Ids that already have an outgoing captured edge: a source an Edge rule resolved is no join hole. */
|
|
741
|
+
linked: ReadonlySet<string>
|
|
736
742
|
): {
|
|
737
743
|
readonly edges: ReadonlyArray<SurveyEdge>
|
|
738
744
|
readonly unresolved: ReadonlyArray<Unresolved>
|
|
@@ -741,6 +747,11 @@ const joinEdges = (
|
|
|
741
747
|
const edges: Array<SurveyEdge> = []
|
|
742
748
|
const unresolved: Array<Unresolved> = []
|
|
743
749
|
const seen = new Set<string>()
|
|
750
|
+
/** `kind\0source` of every source that had the attr but no match under some rule of that kind. */
|
|
751
|
+
const missed = new Map<
|
|
752
|
+
string,
|
|
753
|
+
{ readonly rule: JoinRule; readonly source: SurveyNode; readonly raw: string }
|
|
754
|
+
>()
|
|
744
755
|
for (const rule of rules) {
|
|
745
756
|
const sources = nodes.filter((node) => nodeKind(node) === rule.fromKind)
|
|
746
757
|
const targets = nodes.filter((node) => nodeKind(node) === rule.toKind)
|
|
@@ -758,7 +769,12 @@ const joinEdges = (
|
|
|
758
769
|
)
|
|
759
770
|
continue
|
|
760
771
|
}
|
|
761
|
-
const request =
|
|
772
|
+
const request =
|
|
773
|
+
rule.match === "url" || rule.match === "url-path"
|
|
774
|
+
? normalizeUrl(raw)
|
|
775
|
+
: rule.match === "exact-ci"
|
|
776
|
+
? raw.trim().toLowerCase()
|
|
777
|
+
: raw.trim()
|
|
762
778
|
const inScope = targets.filter((target) =>
|
|
763
779
|
rule.scope === "file"
|
|
764
780
|
? target.path === source.path
|
|
@@ -774,9 +790,15 @@ const joinEdges = (
|
|
|
774
790
|
const how: JoinMatch | undefined =
|
|
775
791
|
rule.match === "url"
|
|
776
792
|
? matchUrl(request, value)
|
|
777
|
-
:
|
|
778
|
-
?
|
|
779
|
-
:
|
|
793
|
+
: rule.match === "url-path"
|
|
794
|
+
? matchUrlPath(request, value)
|
|
795
|
+
: rule.match === "exact-ci"
|
|
796
|
+
? value.trim().toLowerCase() === request
|
|
797
|
+
? "exact"
|
|
798
|
+
: undefined
|
|
799
|
+
: value.trim() === request
|
|
800
|
+
? "exact"
|
|
801
|
+
: undefined
|
|
780
802
|
return how === undefined ? [] : [{ target, how, value }]
|
|
781
803
|
})
|
|
782
804
|
// Servlet-spec order: exact beats the longest prefix beats an extension.
|
|
@@ -785,16 +807,10 @@ const joinEdges = (
|
|
|
785
807
|
joinRank[left.how] - joinRank[right.how] || right.value.length - left.value.length
|
|
786
808
|
)[0]
|
|
787
809
|
if (best === undefined) {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
node: nodeId(source),
|
|
793
|
-
reference: raw,
|
|
794
|
-
file: source.path,
|
|
795
|
-
line: nodeLineStart(source)
|
|
796
|
-
})
|
|
797
|
-
)
|
|
810
|
+
const key = `${rule.kind}\u0000${nodeId(source)}`
|
|
811
|
+
if (!missed.has(key)) {
|
|
812
|
+
missed.set(key, { rule, source, raw })
|
|
813
|
+
}
|
|
798
814
|
continue
|
|
799
815
|
}
|
|
800
816
|
const inferred =
|
|
@@ -823,6 +839,25 @@ const joinEdges = (
|
|
|
823
839
|
}
|
|
824
840
|
}
|
|
825
841
|
}
|
|
842
|
+
// A join source is a hole only when NO rule of its kind matched it and
|
|
843
|
+
// nothing else links from it — a form whose action an Edge rule resolved
|
|
844
|
+
// to a page, or a mapping wired by the other servlet-wiring section, is not.
|
|
845
|
+
const joinedFrom = new Set(edges.map((edge) => edge.from))
|
|
846
|
+
for (const miss of missed.values()) {
|
|
847
|
+
if (joinedFrom.has(nodeId(miss.source)) || linked.has(nodeId(miss.source))) {
|
|
848
|
+
continue
|
|
849
|
+
}
|
|
850
|
+
unresolved.push(
|
|
851
|
+
Unresolved.make({
|
|
852
|
+
reason: "join-from",
|
|
853
|
+
rule: miss.rule.kind,
|
|
854
|
+
node: nodeId(miss.source),
|
|
855
|
+
reference: miss.raw,
|
|
856
|
+
file: miss.source.path,
|
|
857
|
+
line: nodeLineStart(miss.source)
|
|
858
|
+
})
|
|
859
|
+
)
|
|
860
|
+
}
|
|
826
861
|
// A join target nothing reaches, reported once per node whatever the kind:
|
|
827
862
|
// a mapping hit by a form but by no ajax call is wired, not a hole.
|
|
828
863
|
const reached = new Set(edges.map((edge) => edge.to))
|
|
@@ -863,16 +898,31 @@ export const applyFillsAndJoins = (
|
|
|
863
898
|
): SurveyGraph => {
|
|
864
899
|
const nodes = withFills(graph.nodes, fills)
|
|
865
900
|
const kept = graph.edges.filter((edge) => !(edge.mechanism ?? "").startsWith("join:"))
|
|
866
|
-
const joined = joinEdges(
|
|
901
|
+
const joined = joinEdges(
|
|
902
|
+
nodes,
|
|
903
|
+
fills,
|
|
904
|
+
rules.joins,
|
|
905
|
+
appRoots(paths),
|
|
906
|
+
new Set(kept.map((edge) => edge.from))
|
|
907
|
+
)
|
|
867
908
|
const edges = [...kept, ...joined.edges]
|
|
868
909
|
const projected = projectToFiles(SurveyGraph.make({ nodes, edges, unresolved: [], fills }))
|
|
869
910
|
// A file that only holds wiring records (web.xml) is a descriptor file, not
|
|
870
|
-
// a unit nothing references: it never counts as isolated.
|
|
911
|
+
// a unit nothing references: it never counts as isolated. Nor does a file no
|
|
912
|
+
// rule scans: a DTO under `sources:` with no Java rule is unscanned, not dead.
|
|
913
|
+
// A file that owns sub-file nodes is structured, not dead: its holes are
|
|
914
|
+
// reported per node (an ajax call nothing maps), never as `isolated` too.
|
|
871
915
|
const wiringFiles = new Set(nodes.filter(isDescriptor).map((node) => node.path))
|
|
916
|
+
const structured = new Set(
|
|
917
|
+
nodes.filter((node) => nodeKind(node) !== "file").map((node) => node.path)
|
|
918
|
+
)
|
|
919
|
+
const scanned = [...rules.nodes, ...rules.edges].map((rule) => new RegExp(rule.files))
|
|
872
920
|
const isolated = projected.nodes
|
|
873
921
|
.filter(
|
|
874
922
|
(node) =>
|
|
875
923
|
!wiringFiles.has(node.path) &&
|
|
924
|
+
!structured.has(node.path) &&
|
|
925
|
+
scanned.some((pattern) => pattern.test(node.path)) &&
|
|
876
926
|
projected.incoming(node.name).length === 0 &&
|
|
877
927
|
projected.outgoing(node.name).length === 0
|
|
878
928
|
)
|