@llm4ts/flow 2.37.0 → 2.38.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.
@@ -0,0 +1,64 @@
1
+ import * as Schema from "effect/Schema";
2
+ import type { JsonSchema } from "@llm4ts/core/Models";
3
+ import type { GraphRules } from "./GraphRules.ts";
4
+ import { Fill, GraphEvidence, SurveyEdge, SurveyGraph, type SurveyNode, type Unresolved } from "./Survey.ts";
5
+ /**
6
+ * The bounded LLM pass of the code graph (ADR 0030 decision 4). The scanner's
7
+ * `unresolved` list becomes a worklist; the seat may fill an attr of an
8
+ * existing node or add an edge between two existing nodes, each tied to a
9
+ * source line that is checked here before anything is merged. It may not
10
+ * create nodes.
11
+ */
12
+ export interface WorklistCandidate {
13
+ readonly id: string;
14
+ readonly label: string;
15
+ readonly attrs: Readonly<Record<string, string>>;
16
+ }
17
+ export interface WorklistItem {
18
+ readonly unresolved: Unresolved;
19
+ readonly node: SurveyNode;
20
+ /** Fifteen lines either side of the item's line, numbered. */
21
+ readonly context: string;
22
+ readonly candidates: ReadonlyArray<WorklistCandidate>;
23
+ }
24
+ /** Unresolved items, highest-degree node first (hubs resolve first), capped at `max`. */
25
+ export declare const worklistOf: (graph: SurveyGraph, contents: (path: string) => string | undefined, max: number, rules?: GraphRules) => ReadonlyArray<WorklistItem>;
26
+ export declare const worklistBatches: <A>(items: ReadonlyArray<A>, size: number) => ReadonlyArray<ReadonlyArray<A>>;
27
+ export declare const worklistPrompt: (batch: ReadonlyArray<WorklistItem>, guidance: string | undefined) => string;
28
+ declare const WorklistEdge_base: Schema.Class<WorklistEdge, Schema.Struct<{
29
+ readonly from: Schema.String;
30
+ readonly to: Schema.String;
31
+ readonly kind: Schema.String;
32
+ readonly evidence: typeof GraphEvidence;
33
+ }>, {}>;
34
+ export declare class WorklistEdge extends WorklistEdge_base {
35
+ }
36
+ declare const WorklistAttr_base: Schema.Class<WorklistAttr, Schema.Struct<{
37
+ readonly node: Schema.String;
38
+ readonly key: Schema.String;
39
+ readonly value: Schema.String;
40
+ readonly evidence: typeof GraphEvidence;
41
+ }>, {}>;
42
+ export declare class WorklistAttr extends WorklistAttr_base {
43
+ }
44
+ declare const WorklistAnswer_base: Schema.Class<WorklistAnswer, Schema.Struct<{
45
+ readonly edges: Schema.$Array<typeof WorklistEdge>;
46
+ readonly attrs: Schema.$Array<typeof WorklistAttr>;
47
+ readonly notes: Schema.$Array<Schema.String>;
48
+ }>, {}>;
49
+ export declare class WorklistAnswer extends WorklistAnswer_base {
50
+ }
51
+ export declare const worklistAnswerJsonSchema: JsonSchema;
52
+ export interface VerifiedWorklist {
53
+ readonly edges: ReadonlyArray<SurveyEdge>;
54
+ readonly fills: ReadonlyArray<Fill>;
55
+ readonly dropped: ReadonlyArray<{
56
+ readonly what: string;
57
+ readonly reason: string;
58
+ }>;
59
+ }
60
+ export declare const verifyWorklistAnswer: (answer: WorklistAnswer, graph: SurveyGraph, contents: (path: string) => string | undefined) => VerifiedWorklist;
61
+ export declare const mergeWorklist: (graph: SurveyGraph, verified: VerifiedWorklist, rules: GraphRules) => SurveyGraph;
62
+ export declare const renderWorklistReport: (items: ReadonlyArray<WorklistItem>, verified: VerifiedWorklist, notes: ReadonlyArray<string>) => string;
63
+ export {};
64
+ //# sourceMappingURL=GraphWorklist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphWorklist.d.ts","sourceRoot":"","sources":["../src/GraphWorklist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,IAAI,EACJ,aAAa,EACb,UAAU,EACV,WAAW,EAOX,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CACtD;AA8DD,yFAAyF;AACzF,eAAO,MAAM,UAAU,GACrB,OAAO,WAAW,EAClB,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC9C,KAAK,MAAM,EACX,QAAQ,UAAU,KACjB,aAAa,CAAC,YAAY,CAmB5B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,EACvB,MAAM,MAAM,KACX,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAOhC,CAAA;AA6BD,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,CAAC,YAAY,CAAC,EAClC,UAAU,MAAM,GAAG,SAAS,KAC3B,MAmBW,CAAA;;;;;;;AAEd,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAIlC;CAAG;AAYL,eAAO,MAAM,wBAAwB,EAAE,UAgCtC,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpF;AAyBD,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,cAAc,EACtB,OAAO,WAAW,EAClB,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KAC7C,gBAmEF,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,OAAO,WAAW,EAClB,UAAU,gBAAgB,EAC1B,OAAO,UAAU,KAChB,WAUA,CAAA;AAIH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,CAAC,YAAY,CAAC,EAClC,UAAU,gBAAgB,EAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MA2BW,CAAA"}
@@ -0,0 +1,283 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { Fill, GraphEvidence, SurveyEdge, SurveyGraph, applyFillsAndJoins, nodeAttrs, nodeId, nodeKind, nodeLabel, nodeLineStart } from "./Survey.js";
3
+ const contextWindow = 15;
4
+ const candidateLimit = 8;
5
+ const tokens = (text) => [
6
+ ...new Set(text
7
+ .toLowerCase()
8
+ .split(/[^a-z0-9]+/)
9
+ .filter((token) => token.length >= 3))
10
+ ];
11
+ const numbered = (text, line) => text
12
+ .split(/\r?\n/)
13
+ .map((content, index) => ({ number: index + 1, content }))
14
+ .filter(({ number }) => Math.abs(number - line) <= contextWindow)
15
+ .map(({ number, content }) => `${String(number).padStart(4, " ")} ${content}`)
16
+ .join("\n");
17
+ /**
18
+ * Up to eight existing nodes worth naming to the seat: lexical matches on the
19
+ * item's reference, name and attrs, and for a join hole every node of the
20
+ * join's target kind (a dynamic URL matches no token of any mapping).
21
+ */
22
+ const candidatesFor = (graph, item, node, rules) => {
23
+ const needles = tokens(`${item.reference ?? ""} ${node.name} ${Object.values(nodeAttrs(node)).join(" ")}`);
24
+ const targetKinds = new Set(item.reason === "missing-attr" || item.reason === "join-from"
25
+ ? (rules?.joins ?? []).filter((rule) => rule.kind === item.rule).map((rule) => rule.toKind)
26
+ : []);
27
+ return graph.nodes
28
+ .filter((candidate) => nodeId(candidate) !== nodeId(node))
29
+ .map((candidate) => {
30
+ const hay = `${nodeId(candidate)} ${nodeLabel(candidate)} ${Object.values(nodeAttrs(candidate)).join(" ")}`.toLowerCase();
31
+ const lexical = needles.filter((needle) => hay.includes(needle)).length;
32
+ return { candidate, score: lexical + (targetKinds.has(nodeKind(candidate)) ? 1 : 0) };
33
+ })
34
+ .filter(({ score }) => score > 0)
35
+ .sort((left, right) => right.score - left.score || nodeId(left.candidate).localeCompare(nodeId(right.candidate)))
36
+ .slice(0, candidateLimit)
37
+ .map(({ candidate }) => ({
38
+ id: nodeId(candidate),
39
+ label: nodeLabel(candidate),
40
+ attrs: nodeAttrs(candidate)
41
+ }));
42
+ };
43
+ /** Unresolved items, highest-degree node first (hubs resolve first), capped at `max`. */
44
+ export const worklistOf = (graph, contents, max, rules) => {
45
+ const degree = (id) => graph.incoming(id).length + graph.outgoing(id).length;
46
+ // Rank and cut first; reading context and scoring candidates is paid only
47
+ // for the items actually offered.
48
+ const ranked = graph.unresolved
49
+ .flatMap((item) => {
50
+ const node = graph.node(item.node);
51
+ return node === undefined ? [] : [{ item, node, degree: degree(item.node) }];
52
+ })
53
+ .sort((left, right) => right.degree - left.degree || left.item.node.localeCompare(right.item.node))
54
+ .slice(0, max);
55
+ return ranked.map(({ item, node }) => ({
56
+ unresolved: item,
57
+ node,
58
+ context: numbered(contents(item.file) ?? "", item.line),
59
+ candidates: candidatesFor(graph, item, node, rules)
60
+ }));
61
+ };
62
+ export const worklistBatches = (items, size) => {
63
+ const step = Math.max(1, Math.floor(size));
64
+ const batches = [];
65
+ for (let index = 0; index < items.length; index += step) {
66
+ batches.push(items.slice(index, index + step));
67
+ }
68
+ return batches;
69
+ };
70
+ const describeCandidate = (candidate) => Object.keys(candidate.attrs).length === 0
71
+ ? candidate.id
72
+ : `${candidate.id} ${JSON.stringify(candidate.attrs)}`;
73
+ const describeItem = (item, index) => [
74
+ `### Item ${index + 1}: ${item.unresolved.reason} — rule '${item.unresolved.rule}'`,
75
+ `Node: ${nodeId(item.node)} (line ${nodeLineStart(item.node)} of ${item.node.path})`,
76
+ ...(item.unresolved.reference === undefined
77
+ ? []
78
+ : [`Reference the scanner could not resolve: ${item.unresolved.reference}`]),
79
+ `Candidates (existing nodes with matching tokens): ${item.candidates.length === 0 ? "none" : item.candidates.map(describeCandidate).join("; ")}`,
80
+ "Source context:",
81
+ "```",
82
+ item.context,
83
+ "```"
84
+ ].join("\n");
85
+ const defaultGuidance = [
86
+ "Regexes miss links the source establishes indirectly: a URL assembled from a variable or",
87
+ "configuration entry, a target held in a field, wiring declared in a descriptor, a fragment",
88
+ "pulled in by templating."
89
+ ].join("\n");
90
+ export const worklistPrompt = (batch, guidance) => [
91
+ "You are resolving holes in the dependency graph of a legacy estate. The graph was built",
92
+ "deterministically from pack rules; each item below is something the scanner could not",
93
+ "resolve. You have read-only access to the estate.",
94
+ guidance ?? defaultGuidance,
95
+ "",
96
+ "For each item, either resolve it or leave it. You may:",
97
+ '- fill a missing attribute of an EXISTING node ("attrs": node id, key, value) — e.g. the URL an',
98
+ " ajax call actually hits once its prefix variable is known;",
99
+ '- add an edge between two EXISTING nodes ("edges": from id, to id, a short kebab-case kind).',
100
+ "Every entry carries evidence: the file, the 1-based line, and the exact statement on that line.",
101
+ "No evidence, no entry. Use node ids exactly as given; never invent a node, a file or a line.",
102
+ 'External systems, platform services and third-party libraries are not nodes; put them in "notes".',
103
+ "",
104
+ ...batch.map(describeItem),
105
+ "",
106
+ 'Respond only with JSON: {"edges":[{"from","to","kind","evidence":{"file","line","snippet"}}],',
107
+ '"attrs":[{"node","key","value","evidence":{"file","line","snippet"}}],"notes":[…]}'
108
+ ].join("\n");
109
+ export class WorklistEdge extends Schema.Class("WorklistEdge")({
110
+ from: Schema.String,
111
+ to: Schema.String,
112
+ kind: Schema.String,
113
+ evidence: GraphEvidence
114
+ }) {
115
+ }
116
+ export class WorklistAttr extends Schema.Class("WorklistAttr")({
117
+ node: Schema.String,
118
+ key: Schema.String,
119
+ value: Schema.String,
120
+ evidence: GraphEvidence
121
+ }) {
122
+ }
123
+ export class WorklistAnswer extends Schema.Class("WorklistAnswer")({
124
+ edges: Schema.Array(WorklistEdge),
125
+ attrs: Schema.Array(WorklistAttr),
126
+ notes: Schema.Array(Schema.String)
127
+ }) {
128
+ }
129
+ const evidenceJsonSchema = {
130
+ type: "object",
131
+ properties: {
132
+ file: { type: "string" },
133
+ line: { type: "integer" },
134
+ snippet: { type: "string" }
135
+ },
136
+ required: ["file", "line", "snippet"]
137
+ };
138
+ export const worklistAnswerJsonSchema = {
139
+ type: "object",
140
+ properties: {
141
+ edges: {
142
+ type: "array",
143
+ items: {
144
+ type: "object",
145
+ properties: {
146
+ from: { type: "string" },
147
+ to: { type: "string" },
148
+ kind: { type: "string" },
149
+ evidence: evidenceJsonSchema
150
+ },
151
+ required: ["from", "to", "kind", "evidence"]
152
+ }
153
+ },
154
+ attrs: {
155
+ type: "array",
156
+ items: {
157
+ type: "object",
158
+ properties: {
159
+ node: { type: "string" },
160
+ key: { type: "string" },
161
+ value: { type: "string" },
162
+ evidence: evidenceJsonSchema
163
+ },
164
+ required: ["node", "key", "value", "evidence"]
165
+ }
166
+ },
167
+ notes: { type: "array", items: { type: "string" } }
168
+ },
169
+ required: ["edges", "attrs", "notes"]
170
+ };
171
+ /** The 1-based line within ±2 of `line` whose text contains the trimmed snippet, or undefined. */
172
+ const locateSnippet = (text, line, snippet) => {
173
+ if (text === undefined) {
174
+ return undefined;
175
+ }
176
+ const needle = snippet.trim();
177
+ if (needle.length === 0) {
178
+ return undefined;
179
+ }
180
+ const lines = text.split(/\r?\n/);
181
+ for (const delta of [0, -1, 1, -2, 2]) {
182
+ const candidate = line + delta;
183
+ if (candidate >= 1 && (lines[candidate - 1] ?? "").includes(needle)) {
184
+ return candidate;
185
+ }
186
+ }
187
+ return undefined;
188
+ };
189
+ export const verifyWorklistAnswer = (answer, graph, contents) => {
190
+ const ids = new Set(graph.nodes.map(nodeId));
191
+ const existing = new Set(graph.edges.map((edge) => `${edge.from}\u0000${edge.to}`));
192
+ const edges = [];
193
+ const fills = [];
194
+ const dropped = [];
195
+ const verified = (evidence) => {
196
+ const line = locateSnippet(contents(evidence.file), evidence.line, evidence.snippet);
197
+ return line === undefined
198
+ ? `snippet not found within two lines of line ${evidence.line}`
199
+ : GraphEvidence.make({ file: evidence.file, line, snippet: evidence.snippet.trim() });
200
+ };
201
+ for (const edge of answer.edges) {
202
+ const what = `${edge.from} -> ${edge.to} (${edge.kind})`;
203
+ const unknown = [edge.from, edge.to].find((id) => !ids.has(id));
204
+ if (unknown !== undefined) {
205
+ dropped.push({ what, reason: `unknown endpoint: ${unknown}` });
206
+ continue;
207
+ }
208
+ if (edge.from === edge.to) {
209
+ dropped.push({ what, reason: "self loop" });
210
+ continue;
211
+ }
212
+ if (existing.has(`${edge.from}\u0000${edge.to}`)) {
213
+ dropped.push({ what, reason: "duplicate of an existing edge" });
214
+ continue;
215
+ }
216
+ const evidence = verified(edge.evidence);
217
+ if (typeof evidence === "string") {
218
+ dropped.push({ what, reason: evidence });
219
+ continue;
220
+ }
221
+ existing.add(`${edge.from}\u0000${edge.to}`);
222
+ edges.push(SurveyEdge.make({
223
+ from: edge.from,
224
+ to: edge.to,
225
+ kind: edge.kind.replace(/^llm-/, ""),
226
+ origin: "llm",
227
+ confidence: "inferred",
228
+ rule: "llm",
229
+ mechanism: "llm",
230
+ evidence
231
+ }));
232
+ }
233
+ const nodesById = new Map(graph.nodes.map((node) => [nodeId(node), node]));
234
+ for (const attr of answer.attrs) {
235
+ const what = `${attr.node}.${attr.key} = ${attr.value}`;
236
+ const node = nodesById.get(attr.node);
237
+ if (node === undefined) {
238
+ dropped.push({ what, reason: `unknown node: ${attr.node}` });
239
+ continue;
240
+ }
241
+ // The seat fills holes; it never overrides what the scanner read.
242
+ if (nodeAttrs(node)[attr.key] !== undefined) {
243
+ dropped.push({ what, reason: `attr '${attr.key}' already set by the scanner` });
244
+ continue;
245
+ }
246
+ const evidence = verified(attr.evidence);
247
+ if (typeof evidence === "string") {
248
+ dropped.push({ what, reason: evidence });
249
+ continue;
250
+ }
251
+ fills.push(Fill.make({ node: attr.node, key: attr.key, value: attr.value, evidence }));
252
+ }
253
+ return { edges, fills, dropped };
254
+ };
255
+ export const mergeWorklist = (graph, verified, rules) => applyFillsAndJoins(SurveyGraph.make({
256
+ nodes: graph.nodes,
257
+ edges: [...graph.edges, ...verified.edges],
258
+ unresolved: graph.unresolved,
259
+ fills: []
260
+ }), [...graph.fills, ...verified.fills], rules);
261
+ const cell = (text) => text.split(/\r?\n/).join(" ").replaceAll("|", "\\|");
262
+ export const renderWorklistReport = (items, verified, notes) => [
263
+ "# Graph refine (LLM worklist)",
264
+ "",
265
+ `${items.length} unresolved item(s) offered; ${verified.edges.length} edge(s) and ${verified.fills.length} attr fill(s) accepted; ${verified.dropped.length} dropped.`,
266
+ "Accepted entries carry the source line that establishes them and are re-verified on every rebuild.",
267
+ "",
268
+ "## Accepted",
269
+ "",
270
+ "| What | Evidence |",
271
+ "| ---- | -------- |",
272
+ ...verified.edges.map((edge) => `| ${cell(`${edge.from} → ${edge.to} (${edge.kind})`)} | ${cell(`${edge.evidence?.file}:${edge.evidence?.line} ${edge.evidence?.snippet ?? ""}`)} |`),
273
+ ...verified.fills.map((fill) => `| ${cell(`${fill.node}.${fill.key} = ${fill.value}`)} | ${cell(`${fill.evidence.file}:${fill.evidence.line} ${fill.evidence.snippet}`)} |`),
274
+ "",
275
+ "## Dropped",
276
+ "",
277
+ "| What | Reason |",
278
+ "| ---- | ------ |",
279
+ ...verified.dropped.map((drop) => `| ${cell(drop.what)} | ${cell(drop.reason)} |`),
280
+ "",
281
+ ...(notes.length === 0 ? [] : ["## Notes", "", ...notes.map((note) => `- ${cell(note)}`), ""])
282
+ ].join("\n");
283
+ //# sourceMappingURL=GraphWorklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphWorklist.js","sourceRoot":"","sources":["../src/GraphWorklist.ts"],"names":[],"mappings":"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"}
package/dist/Pack.d.ts CHANGED
@@ -4,6 +4,7 @@ import * as Schema from "effect/Schema";
4
4
  import { Dimension } from "@llm4ts/core/eval/Eval";
5
5
  import type { ConsolidateRules } from "./Domains.ts";
6
6
  import { PlanParseError } from "./FlowError.ts";
7
+ import { type GraphRules } from "./GraphRules.ts";
7
8
  import { type OracleRules } from "./OracleGuard.ts";
8
9
  import { Reviewer } from "./Reviewer.ts";
9
10
  import { CoverageRule } from "./SpecChecks.ts";
@@ -32,6 +33,12 @@ export interface Pack {
32
33
  readonly judgeDimensions: ReadonlyArray<Dimension>;
33
34
  readonly coverage: ReadonlyArray<CoverageRule>;
34
35
  readonly survey: ReadonlyArray<CoverageRule>;
36
+ /**
37
+ * The graph vocabulary (ADR 0030): `## Node:`, `## Edge:` (with every
38
+ * `## Survey:` folded in as a file-to-file edge), `## Join:`, `## Probe:`
39
+ * and the `## Graph` budgets.
40
+ */
41
+ readonly graph: GraphRules;
35
42
  readonly prompts: Readonly<Record<string, string>>;
36
43
  readonly lenses: ReadonlyArray<Reviewer>;
37
44
  readonly lessons: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Pack.d.ts","sourceRoot":"","sources":["../src/Pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pack.d.ts","sourceRoot":"","sources":["../src/Pack.ts"],"names":[],"mappings":"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"}
package/dist/Pack.js CHANGED
@@ -3,6 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import * as Schema from "effect/Schema";
4
4
  import { Dimension } from "@llm4ts/core/eval/Eval";
5
5
  import { PlanParseError } from "./FlowError.js";
6
+ import { edgeKindsOf, parseGraphRules } from "./GraphRules.js";
6
7
  import { oracleRulesFrom } from "./OracleGuard.js";
7
8
  import { Reviewer, parseReviewer } from "./Reviewer.js";
8
9
  import { CoverageRule } from "./SpecChecks.js";
@@ -219,13 +220,15 @@ export const loadPack = Effect.fn("@llm4ts/flow/Pack.load")(function* (workspace
219
220
  cluster: commaList(consolidateValues.cluster),
220
221
  context: commaList(consolidateValues.context)
221
222
  };
223
+ const survey = rules(manifest.sections, "## Survey: ");
224
+ const graph = yield* parseGraphRules(manifest.sections, survey);
222
225
  if (consolidate !== undefined) {
223
- const surveyNames = new Set(rules(manifest.sections, "## Survey: ").map((rule) => rule.name));
224
- const unknown = [...consolidate.cluster, ...consolidate.context].filter((kind) => !surveyNames.has(kind) && !kind.startsWith("llm-") && !kind.endsWith("*"));
226
+ const knownKinds = new Set([...survey.map((rule) => rule.name), ...edgeKindsOf(graph)]);
227
+ const unknown = [...consolidate.cluster, ...consolidate.context].filter((kind) => !knownKinds.has(kind) && !kind.startsWith("llm-") && !kind.endsWith("*"));
225
228
  if (unknown.length > 0) {
226
229
  return yield* PlanParseError.make({
227
- message: `pack manifest '## Consolidate' names edge kinds no '## Survey:' rule produces: ${unknown.join(", ")} ` +
228
- `(known: ${[...surveyNames].join(", ") || "none"}; 'llm-*' matches refined edges)`
230
+ message: `pack manifest '## Consolidate' names edge kinds no '## Survey:', '## Edge:' or '## Join:' rule produces: ${unknown.join(", ")} ` +
231
+ `(known: ${[...knownKinds].join(", ") || "none"}; 'llm-*' matches refined edges)`
229
232
  });
230
233
  }
231
234
  const both = consolidate.cluster.filter((kind) => consolidate.context.includes(kind));
@@ -261,7 +264,8 @@ export const loadPack = Effect.fn("@llm4ts/flow/Pack.load")(function* (workspace
261
264
  }),
262
265
  judgeDimensions: dimensions(section(manifest.sections, "Judge")),
263
266
  coverage: rules(manifest.sections, "## Coverage: "),
264
- survey: rules(manifest.sections, "## Survey: "),
267
+ survey,
268
+ graph,
265
269
  prompts,
266
270
  lenses,
267
271
  lessons: lessons === undefined || lessons.length === 0 ? undefined : lessons,
package/dist/Pack.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Pack.js","sourceRoot":"","sources":["../src/Pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pack.js","sourceRoot":"","sources":["../src/Pack.ts"],"names":[],"mappings":"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"}