@llm4ts/flow 2.24.0 → 2.26.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/dist/Flow.d.ts +5 -1
- package/dist/Flow.d.ts.map +1 -1
- package/dist/Flow.js +9 -1
- package/dist/Flow.js.map +1 -1
- package/dist/FlowContext.d.ts +7 -0
- package/dist/FlowContext.d.ts.map +1 -1
- package/dist/FlowContext.js.map +1 -1
- package/dist/Judgment.d.ts +1 -1
- package/dist/Judgment.d.ts.map +1 -1
- package/dist/Judgment.js +2 -2
- package/dist/Judgment.js.map +1 -1
- package/dist/NodePreflight.d.ts +56 -0
- package/dist/NodePreflight.d.ts.map +1 -0
- package/dist/NodePreflight.js +233 -0
- package/dist/NodePreflight.js.map +1 -0
- package/dist/Review.d.ts +13 -0
- package/dist/Review.d.ts.map +1 -1
- package/dist/Review.js +17 -1
- package/dist/Review.js.map +1 -1
- package/dist/ReviewCache.d.ts +19 -2
- package/dist/ReviewCache.d.ts.map +1 -1
- package/dist/ReviewCache.js +27 -16
- package/dist/ReviewCache.js.map +1 -1
- package/dist/Stories.d.ts.map +1 -1
- package/dist/Stories.js +62 -12
- package/dist/Stories.js.map +1 -1
- package/package.json +3 -2
- package/src/Flow.ts +25 -2
- package/src/FlowContext.ts +7 -0
- package/src/Judgment.ts +2 -2
- package/src/NodePreflight.ts +316 -0
- package/src/Review.ts +43 -4
- package/src/ReviewCache.ts +62 -23
- package/src/Stories.ts +100 -14
package/dist/Flow.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { type FlowEventsShape } from "./FlowEvents.ts";
|
|
|
6
6
|
import type { Plan, Task } from "./Plan.ts";
|
|
7
7
|
import type { PlanStoreShape } from "./Persistence.ts";
|
|
8
8
|
import { type JudgmentMode } from "./Judgment.ts";
|
|
9
|
-
import { type ReviewResult } from "./Review.ts";
|
|
9
|
+
import { type ReviewResult, type ReviewCacheLocation } from "./Review.ts";
|
|
10
10
|
import type { Reviewer } from "./Reviewer.ts";
|
|
11
11
|
export { publishUsage, structuredAndPublish } from "./Usage.ts";
|
|
12
12
|
export declare const flowReviewer: (context: FlowContextShape) => LlmServiceShape;
|
|
@@ -29,6 +29,10 @@ export interface ImplementPlanOptions {
|
|
|
29
29
|
readonly maxRounds?: number;
|
|
30
30
|
readonly lint?: Effect.Effect<ReviewResult, FlowError>;
|
|
31
31
|
readonly format?: Effect.Effect<void, FlowError>;
|
|
32
|
+
/** Where each review lens's answer is kept, so a rerun over the same diff asks nothing. */
|
|
33
|
+
readonly reviewCache?: ReviewCacheLocation;
|
|
34
|
+
/** Told after every review round of every task, settled or not. */
|
|
35
|
+
readonly onReview?: (task: Task, round: number, result: ReviewResult, settled: boolean) => Effect.Effect<void, FlowError>;
|
|
32
36
|
/**
|
|
33
37
|
* What to do when a task produces no file changes and the coder does not
|
|
34
38
|
* confirm TASK_ALREADY_SATISFIED. "fail" (default) aborts the flow —
|
package/dist/Flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAE/D,eAAO,MAAM,YAAY,GAAI,SAAS,gBAAgB,KAAG,eACd,CAAA;AAE3C,eAAO,MAAM,kBAAkB,mHAmB7B,CAAA;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAA;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7C;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAA;CACpF;AAED,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,oKA6C9B,CAAA;AAOF,eAAO,MAAM,iBAAiB,wxCA8H5B,CAAA"}
|
package/dist/Flow.js
CHANGED
|
@@ -138,7 +138,15 @@ export const implementPlanFlow = Effect.fn("@llm4ts/flow/Flow.implementPlan")(fu
|
|
|
138
138
|
events: context.events,
|
|
139
139
|
...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
|
|
140
140
|
...(options.lint === undefined ? {} : { lint: options.lint }),
|
|
141
|
-
...(options.format === undefined ? {} : { format: options.format })
|
|
141
|
+
...(options.format === undefined ? {} : { format: options.format }),
|
|
142
|
+
...(options.reviewCache === undefined ? {} : { cache: options.reviewCache }),
|
|
143
|
+
...(options.onReview === undefined
|
|
144
|
+
? {}
|
|
145
|
+
: {
|
|
146
|
+
onRound: (round, result, settled) => options.onReview === undefined
|
|
147
|
+
? Effect.void
|
|
148
|
+
: options.onReview(task, round, result, settled)
|
|
149
|
+
})
|
|
142
150
|
});
|
|
143
151
|
if (options.lint !== undefined) {
|
|
144
152
|
const gate = yield* options.lint;
|
package/dist/Flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EAEX,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAqB,MAAM,eAAe,CAAA;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"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"}
|
package/dist/FlowContext.d.ts
CHANGED
|
@@ -23,6 +23,13 @@ export interface FlowContextShape {
|
|
|
23
23
|
readonly hosting: GitHubToolShape;
|
|
24
24
|
readonly events: FlowEventsShape;
|
|
25
25
|
readonly reviewers: ReadonlyArray<LlmServiceShape>;
|
|
26
|
+
/**
|
|
27
|
+
* The judgment seat as a chat service, for the rubric judges that predate
|
|
28
|
+
* ADR 0017: the reasoner with its tools taken away wherever the harness
|
|
29
|
+
* can (a roster's judge role, or `readOnly` over a CLI reasoner). Absent
|
|
30
|
+
* on a context built by hand; judges then fall back to `reasoning`.
|
|
31
|
+
*/
|
|
32
|
+
readonly judge?: LlmServiceShape;
|
|
26
33
|
readonly coderCapabilities: ConnectorCapabilities;
|
|
27
34
|
readonly userPrompt: string;
|
|
28
35
|
readonly workDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContext.d.ts","sourceRoot":"","sources":["../src/FlowContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAClD,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,KACrB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;;AAED,qBAAa,WAAY,SAAQ,gBAEhC;CAAG"}
|
|
1
|
+
{"version":3,"file":"FlowContext.d.ts","sourceRoot":"","sources":["../src/FlowContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,KACrB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;;AAED,qBAAa,WAAY,SAAQ,gBAEhC;CAAG"}
|
package/dist/FlowContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContext.js","sourceRoot":"","sources":["../src/FlowContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"FlowContext.js","sourceRoot":"","sources":["../src/FlowContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAgEzC,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,OAAO,EAAiC,CAC/E,0BAA0B,CAC3B;CAAG"}
|
package/dist/Judgment.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export declare const certaintyOf: (answer: Answer) => number;
|
|
|
57
57
|
* answer rebuilt from too little mass on the offered options is always held.
|
|
58
58
|
*/
|
|
59
59
|
export declare const decide: (answer: Answer, policy?: JudgmentPolicy) => Decision;
|
|
60
|
-
/** The context's judgment service, or one derived from its reasoning seat. */
|
|
60
|
+
/** The context's judgment service, or one derived from its judge (else reasoning) seat. */
|
|
61
61
|
export declare const judgmentOf: (context: FlowContextShape) => JudgmentShape;
|
|
62
62
|
export interface JudgeOrEscalateOptions {
|
|
63
63
|
readonly judgment: JudgmentShape;
|
package/dist/Judgment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Judgment.d.ts","sourceRoot":"","sources":["../src/Judgment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACd,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAEL,cAAc,EAOd,KAAK,MAAM,EACX,KAAK,YAAY,EAGlB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAQ,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;;IAgBzD,sCAAsC;;IAEtC,kFAAkF;;;AAhBpF;;;;;;;;;;;GAWG;AAEH,qBAAa,cAAe,SAAQ,mBAKlC;CAAG;;IAQH,mEAAmE;;IAEnE,kDAAkD;;IAElD,4DAA4D;;;;;IAK5D,wEAAwE;;;AAV1E,qBAAa,cAAe,SAAQ,mBAYlC;IACA,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc;CAUjD;AAED,eAAO,MAAM,qBAAqB,gBAA0B,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MACiC,CAAA;AAE9E;;;GAGG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,EACd,SAAQ,cAAsC,KAC7C,QAOF,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"Judgment.d.ts","sourceRoot":"","sources":["../src/Judgment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACd,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAEL,cAAc,EAOd,KAAK,MAAM,EACX,KAAK,YAAY,EAGlB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAQ,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;;IAgBzD,sCAAsC;;IAEtC,kFAAkF;;;AAhBpF;;;;;;;;;;;GAWG;AAEH,qBAAa,cAAe,SAAQ,mBAKlC;CAAG;;IAQH,mEAAmE;;IAEnE,kDAAkD;;IAElD,4DAA4D;;;;;IAK5D,wEAAwE;;;AAV1E,qBAAa,cAAe,SAAQ,mBAYlC;IACA,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc;CAUjD;AAED,eAAO,MAAM,qBAAqB,gBAA0B,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MACiC,CAAA;AAE9E;;;GAGG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,EACd,SAAQ,cAAsC,KAC7C,QAOF,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,GAAI,SAAS,gBAAgB,KAAG,aACkB,CAAA;AAgKzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,ywCAyD1B,CAAA;AAYF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,aAAa,EACtB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgBrC,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,cAAc,m0CA+BzB,CAAA"}
|
package/dist/Judgment.js
CHANGED
|
@@ -71,8 +71,8 @@ export const decide = (answer, policy = defaultJudgmentPolicy) => {
|
|
|
71
71
|
const bands = policy.thresholds(answer.origin);
|
|
72
72
|
return certainty >= bands.act ? "act" : certainty < bands.hold ? "hold" : "caution";
|
|
73
73
|
};
|
|
74
|
-
/** The context's judgment service, or one derived from its reasoning seat. */
|
|
75
|
-
export const judgmentOf = (context) => context.judgment ?? makeLlmJudgment(context.reasoning);
|
|
74
|
+
/** The context's judgment service, or one derived from its judge (else reasoning) seat. */
|
|
75
|
+
export const judgmentOf = (context) => context.judgment ?? makeLlmJudgment(context.judge ?? context.reasoning);
|
|
76
76
|
const backendFailure = (error) => FlowLlmError.from(ProviderError.make({ message: error.message, cause: error }));
|
|
77
77
|
// Escalation asks a reasoning model the same question in its own words and
|
|
78
78
|
// decodes a typed reply, so the schema per kind mirrors the answer shape.
|
package/dist/Judgment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Judgment.js","sourceRoot":"","sources":["../src/Judgment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,OAAO,EACP,WAAW,EAKZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAwB,MAAM,iBAAiB,CAAA;AAE5D,OAAO,EAAiB,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE3D;;;;;;;;;;;GAWG;AAEH,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IACjF,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC;CAAG;AAEL,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAC/C,cAAc,CAAC,IAAI,CACjB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAClF,CAAA;AAEH,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IACjF,mEAAmE;IACnE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAC9B,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAC9B,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAC7B,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;IACjC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CACnF,CAAC;IACA,UAAU,CAAC,MAAoB;QAC7B,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3B,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,QAAQ,CAAA;YACtB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAA;YACrB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE,CACpD,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAA;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAAc,EACd,SAAyB,qBAAqB,EACpC,EAAE;IACZ,IAAI,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACrF,CAAC,CAAA;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAyB,EAAiB,EAAE,CACrE,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AAExD,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAa,EAAE,CAChE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAEjF,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,eAAgB,SAAQ,MAAM,CAAC,KAAK,CAAkB,iBAAiB,CAAC,CAAC;IAC7E,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;CAC3D,CAAC;CAAG;AACL,MAAM,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IAC1E,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;CAC3D,CAAC;CAAG;AACL,MAAM,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC;CAAG;AAEL,MAAM,SAAS,GAAG,CAAC,IAA2B,EAAc,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAA6B,EAAE,QAAkB,EAAU,EAAE;IACrF,MAAM,MAAM,GAAG,WAAW,WAAW,CAAC,KAAK,CAAC,oDAAoD,CAAA;IAChG,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,CACL,GAAG,MAAM,aAAa,QAAQ,CAAC,YAAY,cAAc;gBACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;qBACvE,IAAI,CAAC,IAAI,CAAC;gBACb,gGAAgG,CACjG,CAAA;QACH,KAAK,OAAO;YACV,OAAO,CACL,GAAG,MAAM,SAAS,QAAQ,CAAC,YAAY,aAAa;gBACpD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1F,6EAA6E,CAC9E,CAAA;QACH,KAAK,OAAO;YACV,OAAO,CACL,GAAG,MAAM,cAAc,QAAQ,CAAC,YAAY,IAAI;gBAChD,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvH,0EAA0E,CAC3E,CAAA;IACL,CAAC;AACH,CAAC,CAAA;AAED,sFAAsF;AACtF,MAAM,UAAU,GAAG,CACjB,IAA2B,EAC3B,GAAqC,EACc,EAAE;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAU,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7D,OAAO,KAAK,GAAG,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,gEAAgE;YACzE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;SACzB,CAAC,CACH,CAAA;AACP,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CACf,SAA0B,EAC1B,OAAwB,EACxB,KAA6B,EAC7B,QAAkB,EACgB,EAAE;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACzC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC3C,OAAO,SAAS;iBACb,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE;gBAC1C,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;oBAC3C,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC;iBAC/B;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;aACtC,CAAC;iBACD,IAAI,CACH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5E,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,IAAI,CAAC;oBACd,OAAO,EAAE,6BAA6B,KAAK,CAAC,MAAM,8BAA8B;oBAChF,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;iBACzC,CAAC,CACH;gBACH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAClE,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpE,aAAa;oBACb,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC;oBACvC,MAAM;iBACP,CAAC,CACH,CACN,EACD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAA;QACL,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/D,OAAO,SAAS;iBACb,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE;gBACzC,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC9C,QAAQ,EAAE,CAAC,eAAe,CAAC;aAC5B,CAAC;iBACD,IAAI,CACH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAClE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAChE;gBACD,aAAa;gBACb,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC;gBACvC,MAAM;aACP,CAAC,CACH,CACF,EACD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAA;QACL,CAAC;QACD,KAAK,OAAO;YACV,OAAO,SAAS;iBACb,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE;gBACzC,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACzC,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;iBACD,IAAI,CACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM;aACP,CAAC,CACH,EACD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAA;IACP,CAAC;AACH,CAAC,CAAA;AAUD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,CAAC,EACzF,OAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAA;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ;SACnC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;SACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;IACxC,MAAM,OAAO,GAA2B,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IAC7D,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,MAAM,GACV,OAAO,KAAK,SAAS;YACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,IAAI,WAAW,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,MAAM;gBAClC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU;oBACnC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE;oBAC7F,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,cAAc,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBACtF,CAAC,CAAC,SAAS,CAAA;QACjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QACD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,sCAAsC,MAAM,EAAE,EAAE,CAAC,CACvF,CAAA;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAC/B,OAAO,CAAC,SAAS,EACjB,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,OAAO,CAAC,KAAK,EACrB,QAAQ,CACT,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAsB,EAAE,CAAC,MAAM,CAAC,EAClD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,OAAO,CAAC,MAAM;aACX,OAAO,CACN,IAAI,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,aAAa,GAAG,wBAAwB,KAAK,CAAC,IAAI,gCAAgC;SAC5F,CAAC,CACH;aACA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAqB,SAAS,CAAC,CAAC,CAClD,CACF,CAAA;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;YAClE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC;QACzB,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC/D,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,kBAAmB,SAAQ,MAAM,CAAC,KAAK,CAAqB,oBAAoB,CAAC,CAAC;IACtF,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,MAAM,EAAE,cAAc;CACvB,CAAC;CAAG;AAEL,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAU,EAAE,CAChD,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;KAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD,IAAI,CAAC,EAAE,CAAC,CAAA;AAEb;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAsB,EACtB,QAAgB,EACyB,EAAE,CAC3C,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,KAAK,IAAI,EAAE,CACd,SAAS,CACP,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CACnC,SAAS,EACT,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CACjF,CACF,CACF;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,gBAAgB,CAAC,IAAI,CAAC;QACpB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACpG,KAAK,EAAE,KAAK;KACb,CAAC;CACL,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAC/E,KAA0B,EAC1B,IAAY,EACZ,QAAuB,EACvB,OAAsB;IAEtB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,KAAK,GACT,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CACzF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAC5E,CAAA;IACP,IAAI,KAAK,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CACnF,kBAAkB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CACjD,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,gBAAgB,CAAC,IAAI,CAAC;QACpB,OAAO,EAAE,oCAAoC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5D,KAAK,EAAE,KAAK;KACb,CAAC,CACH,CACF,CAAA;IACD,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"Judgment.js","sourceRoot":"","sources":["../src/Judgment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Schema from "effect/Schema";
|
|
3
|
+
import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor";
|
|
4
|
+
import { FlowAborted } from "./FlowError.ts";
|
|
5
|
+
import { type FlowEventsShape } from "./FlowEvents.ts";
|
|
6
|
+
import type { PlainFileStoreShape } from "./Persistence.ts";
|
|
7
|
+
declare const NodePin_base: Schema.Class<NodePin, Schema.Struct<{
|
|
8
|
+
readonly spec: Schema.String;
|
|
9
|
+
readonly source: Schema.String;
|
|
10
|
+
}>, {}>;
|
|
11
|
+
/** A Node pin as the application wrote it, and where. */
|
|
12
|
+
export declare class NodePin extends NodePin_base {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether a Node version (`v24.12.0`) satisfies a pin as `.nvmrc`, `engines`
|
|
16
|
+
* or corepack write them; `undefined` when the pin is an alias or a form
|
|
17
|
+
* this cannot read, which is a reason to say so, not to fail.
|
|
18
|
+
*/
|
|
19
|
+
export declare const nodeVersionSatisfies: (version: string, spec: string) => boolean | undefined;
|
|
20
|
+
/** The Node pins in an application directory: `.nvmrc`, `.node-version`, `engines.node`. */
|
|
21
|
+
export declare const nodePinsOf: (files: PlainFileStoreShape, appDir: string) => Effect.Effect<ReadonlyArray<NodePin>>;
|
|
22
|
+
/** pnpm's `use-node-version` from the application's `.npmrc`, when it carries one. */
|
|
23
|
+
export declare const pnpmNodeVersionOf: (files: PlainFileStoreShape, appDir: string) => Effect.Effect<string | undefined>;
|
|
24
|
+
export type NodePreflightReport = {
|
|
25
|
+
readonly _tag: "Off";
|
|
26
|
+
readonly summary: string;
|
|
27
|
+
} | {
|
|
28
|
+
readonly _tag: "NoPin";
|
|
29
|
+
readonly summary: string;
|
|
30
|
+
} | {
|
|
31
|
+
readonly _tag: "Managed";
|
|
32
|
+
readonly node: string;
|
|
33
|
+
readonly summary: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly _tag: "NoNode";
|
|
36
|
+
readonly summary: string;
|
|
37
|
+
} | {
|
|
38
|
+
readonly _tag: "Mismatch";
|
|
39
|
+
readonly node: string;
|
|
40
|
+
readonly unmet: ReadonlyArray<NodePin>;
|
|
41
|
+
readonly summary: string;
|
|
42
|
+
} | {
|
|
43
|
+
readonly _tag: "Ok";
|
|
44
|
+
readonly node: string;
|
|
45
|
+
readonly summary: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Compares the Node the gates would run on — `node --version` through the
|
|
49
|
+
* same executor and PATH the gates get — with the application's pins.
|
|
50
|
+
* `LLM4TS_NODE_CHECK=off` skips it.
|
|
51
|
+
*/
|
|
52
|
+
export declare const nodePreflightReport: (process: ProcessExecutorShape, files: PlainFileStoreShape, appDir: string, environment: Readonly<Record<string, string | undefined>>) => Effect.Effect<NodePreflightReport, never, never>;
|
|
53
|
+
/** The report on the run's events, or the run aborted before its first gate. */
|
|
54
|
+
export declare const nodePreflight: (process: ProcessExecutorShape, files: PlainFileStoreShape, events: FlowEventsShape, appDir: string, environment: Readonly<Record<string, string | undefined>>) => Effect.Effect<void, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | FlowAborted | import("./FlowError.ts").ProcessError | import("./FlowError.ts").FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=NodePreflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodePreflight.d.ts","sourceRoot":"","sources":["../src/NodePreflight.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAQ,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;;;AAE3D,yDAAyD;AACzD,qBAAa,OAAQ,SAAQ,YAG3B;CAAG;AA8FL;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,GAAG,SAyB9E,CAAA;AAsBD,4FAA4F;AAC5F,eAAO,MAAM,UAAU,GACrB,OAAO,mBAAmB,EAC1B,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAqBnC,CAAA;AAEJ,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,mBAAmB,EAC1B,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAS/B,CAAA;AAIJ,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAO5E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,4LA8D9B,CAAA;AAEF,gFAAgF;AAChF,eAAO,MAAM,aAAa,s5CAYxB,CAAA"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which Node will the gates run on, and is it the one the application pins?
|
|
3
|
+
*
|
|
4
|
+
* Gates (`pnpm lint`, `pnpm test`, `pnpm build`) are spawned with the
|
|
5
|
+
* environment llm4ts inherited, so `pnpm` finds the `node` on PATH, which is
|
|
6
|
+
* whatever shell launched llm4ts, not what the application asks for in
|
|
7
|
+
* `.nvmrc`, `.node-version` or `package.json#engines`. A mismatch surfaces as
|
|
8
|
+
* a red gate on the first story, in a syntax error or an engine refusal that
|
|
9
|
+
* says nothing about Node. This asks before the first gate, and names both.
|
|
10
|
+
*
|
|
11
|
+
* pnpm's `use-node-version` (`.npmrc`) makes pnpm fetch and run that Node
|
|
12
|
+
* itself, so a target that carries it passes regardless of PATH.
|
|
13
|
+
*/
|
|
14
|
+
import { join } from "node:path";
|
|
15
|
+
import * as Effect from "effect/Effect";
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
17
|
+
import { FlowAborted } from "./FlowError.js";
|
|
18
|
+
import { Info } from "./FlowEvents.js";
|
|
19
|
+
/** A Node pin as the application wrote it, and where. */
|
|
20
|
+
export class NodePin extends Schema.Class("NodePin")({
|
|
21
|
+
spec: Schema.String,
|
|
22
|
+
source: Schema.String
|
|
23
|
+
}) {
|
|
24
|
+
}
|
|
25
|
+
const partialOf = (text) => {
|
|
26
|
+
const match = /^v?(\d+)(?:\.(\d+|x|\*))?(?:\.(\d+|x|\*))?$/.exec(text.trim());
|
|
27
|
+
if (match === null || match[1] === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const component = (value) => value === undefined || value === "x" || value === "*" ? undefined : Number(value);
|
|
31
|
+
const minor = component(match[2]);
|
|
32
|
+
const patch = component(match[3]);
|
|
33
|
+
return {
|
|
34
|
+
major: Number(match[1]),
|
|
35
|
+
...(minor === undefined ? {} : { minor }),
|
|
36
|
+
...(patch === undefined ? {} : { patch })
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
const triple = (version) => [
|
|
40
|
+
version.major,
|
|
41
|
+
version.minor ?? 0,
|
|
42
|
+
version.patch ?? 0
|
|
43
|
+
];
|
|
44
|
+
const compare = (left, right) => {
|
|
45
|
+
for (let index = 0; index < 3; index += 1) {
|
|
46
|
+
const difference = (left[index] ?? 0) - (right[index] ?? 0);
|
|
47
|
+
if (difference !== 0) {
|
|
48
|
+
return difference;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return 0;
|
|
52
|
+
};
|
|
53
|
+
/** The alias forms only a version manager resolves (`lts/*`, `lts/iron`, `node`). */
|
|
54
|
+
const isAlias = (spec) => /^(lts\/.*|node|latest|stable|current|system)$/i.test(spec);
|
|
55
|
+
const tokenHolds = (version, token) => {
|
|
56
|
+
if (token === "*" || token === "x" || token === "latest") {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
const match = /^(>=|<=|>|<|=|\^|~)?\s*(.+)$/.exec(token);
|
|
60
|
+
const operator = match?.[1] ?? "";
|
|
61
|
+
const partial = partialOf(match?.[2] ?? "");
|
|
62
|
+
if (partial === undefined) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const low = triple(partial);
|
|
66
|
+
switch (operator) {
|
|
67
|
+
case ">=":
|
|
68
|
+
return compare(version, low) >= 0;
|
|
69
|
+
case ">":
|
|
70
|
+
return compare(version, low) > 0;
|
|
71
|
+
case "<":
|
|
72
|
+
return compare(version, low) < 0;
|
|
73
|
+
case "<=":
|
|
74
|
+
return compare(version, low) <= 0;
|
|
75
|
+
case "^": {
|
|
76
|
+
const high = partial.major > 0
|
|
77
|
+
? [partial.major + 1, 0, 0]
|
|
78
|
+
: partial.minor !== undefined && partial.minor > 0
|
|
79
|
+
? [0, partial.minor + 1, 0]
|
|
80
|
+
: [0, 0, (partial.patch ?? 0) + 1];
|
|
81
|
+
return compare(version, low) >= 0 && compare(version, high) < 0;
|
|
82
|
+
}
|
|
83
|
+
case "~": {
|
|
84
|
+
const high = partial.minor === undefined
|
|
85
|
+
? [partial.major + 1, 0, 0]
|
|
86
|
+
: [partial.major, partial.minor + 1, 0];
|
|
87
|
+
return compare(version, low) >= 0 && compare(version, high) < 0;
|
|
88
|
+
}
|
|
89
|
+
default: {
|
|
90
|
+
// A bare pin matches on the components it names: "20" is any 20.x.y.
|
|
91
|
+
const [major, minor, patch] = version;
|
|
92
|
+
return (major === partial.major &&
|
|
93
|
+
(partial.minor === undefined || minor === partial.minor) &&
|
|
94
|
+
(partial.patch === undefined || patch === partial.patch));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Whether a Node version (`v24.12.0`) satisfies a pin as `.nvmrc`, `engines`
|
|
100
|
+
* or corepack write them; `undefined` when the pin is an alias or a form
|
|
101
|
+
* this cannot read, which is a reason to say so, not to fail.
|
|
102
|
+
*/
|
|
103
|
+
export const nodeVersionSatisfies = (version, spec) => {
|
|
104
|
+
const trimmed = spec.trim();
|
|
105
|
+
const have = partialOf(version);
|
|
106
|
+
if (have === undefined || isAlias(trimmed)) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
const actual = triple(have);
|
|
110
|
+
let unknown = false;
|
|
111
|
+
const clauses = trimmed.split("||").map((clause) => clause.trim());
|
|
112
|
+
for (const clause of clauses) {
|
|
113
|
+
const hyphen = /^(\S+)\s+-\s+(\S+)$/.exec(clause);
|
|
114
|
+
const tokens = hyphen?.[1] !== undefined && hyphen[2] !== undefined
|
|
115
|
+
? [`>=${hyphen[1]}`, `<=${hyphen[2]}`]
|
|
116
|
+
: clause.split(/\s+/).filter((token) => token.length > 0);
|
|
117
|
+
const verdicts = tokens.map((token) => tokenHolds(actual, token));
|
|
118
|
+
if (verdicts.some((verdict) => verdict === undefined)) {
|
|
119
|
+
unknown = true;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (verdicts.every((verdict) => verdict === true)) {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return unknown ? undefined : false;
|
|
127
|
+
};
|
|
128
|
+
// ---- Reading the pins ------------------------------------------------------------------
|
|
129
|
+
const PackageEngines = Schema.fromJsonString(Schema.Struct({
|
|
130
|
+
engines: Schema.optionalKey(Schema.Struct({ node: Schema.optionalKey(Schema.String) }))
|
|
131
|
+
}));
|
|
132
|
+
const readOptional = (files, path) => files.read(path).pipe(Effect.catch(() => Effect.succeed(undefined)));
|
|
133
|
+
const firstLine = (text) => text
|
|
134
|
+
.split(/\r?\n/)
|
|
135
|
+
.map((line) => line.replace(/#.*$/, "").trim())
|
|
136
|
+
.find((line) => line.length > 0) ?? "";
|
|
137
|
+
/** The Node pins in an application directory: `.nvmrc`, `.node-version`, `engines.node`. */
|
|
138
|
+
export const nodePinsOf = (files, appDir) => Effect.gen(function* () {
|
|
139
|
+
const pins = [];
|
|
140
|
+
for (const source of [".nvmrc", ".node-version"]) {
|
|
141
|
+
const text = yield* readOptional(files, join(appDir, source));
|
|
142
|
+
const spec = text === undefined ? "" : firstLine(text);
|
|
143
|
+
if (spec.length > 0) {
|
|
144
|
+
pins.push(NodePin.make({ spec, source }));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const manifest = yield* readOptional(files, join(appDir, "package.json"));
|
|
148
|
+
if (manifest !== undefined) {
|
|
149
|
+
const engines = yield* Schema.decodeUnknownEffect(PackageEngines)(manifest).pipe(Effect.map((parsed) => parsed.engines?.node?.trim()), Effect.catch(() => Effect.succeed(undefined)));
|
|
150
|
+
if (engines !== undefined && engines.length > 0) {
|
|
151
|
+
pins.push(NodePin.make({ spec: engines, source: "package.json engines.node" }));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return pins;
|
|
155
|
+
});
|
|
156
|
+
/** pnpm's `use-node-version` from the application's `.npmrc`, when it carries one. */
|
|
157
|
+
export const pnpmNodeVersionOf = (files, appDir) => Effect.map(readOptional(files, join(appDir, ".npmrc")), (text) => {
|
|
158
|
+
for (const line of (text ?? "").split(/\r?\n/)) {
|
|
159
|
+
const match = /^\s*use-node-version\s*=\s*(\S+)/.exec(line);
|
|
160
|
+
if (match?.[1] !== undefined) {
|
|
161
|
+
return match[1];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return undefined;
|
|
165
|
+
});
|
|
166
|
+
const switchedOff = (value) => value !== undefined && ["off", "0", "false", "no"].includes(value.trim().toLowerCase());
|
|
167
|
+
const describePin = (pin) => `${pin.spec} (${pin.source})`;
|
|
168
|
+
/**
|
|
169
|
+
* Compares the Node the gates would run on — `node --version` through the
|
|
170
|
+
* same executor and PATH the gates get — with the application's pins.
|
|
171
|
+
* `LLM4TS_NODE_CHECK=off` skips it.
|
|
172
|
+
*/
|
|
173
|
+
export const nodePreflightReport = Effect.fn("@llm4ts/flow/NodePreflight.report")(function* (process, files, appDir, environment) {
|
|
174
|
+
if (switchedOff(environment.LLM4TS_NODE_CHECK)) {
|
|
175
|
+
return { _tag: "Off", summary: "node: check off (LLM4TS_NODE_CHECK)" };
|
|
176
|
+
}
|
|
177
|
+
const pins = yield* nodePinsOf(files, appDir);
|
|
178
|
+
if (pins.length === 0) {
|
|
179
|
+
return {
|
|
180
|
+
_tag: "NoPin",
|
|
181
|
+
summary: `node: ${appDir} pins no version (.nvmrc, .node-version, package.json engines.node)`
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
const managed = yield* pnpmNodeVersionOf(files, appDir);
|
|
185
|
+
if (managed !== undefined) {
|
|
186
|
+
return {
|
|
187
|
+
_tag: "Managed",
|
|
188
|
+
node: managed,
|
|
189
|
+
summary: `node: pnpm runs the gates on Node ${managed} (use-node-version in .npmrc)`
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
const probed = yield* process.run(["node", "--version"], appDir, {}).pipe(Effect.map((result) => (result.exitCode === 0 ? result.stdout.join("").trim() : undefined)), Effect.catch(() => Effect.succeed(undefined)));
|
|
193
|
+
if (probed === undefined || probed.length === 0) {
|
|
194
|
+
return {
|
|
195
|
+
_tag: "NoNode",
|
|
196
|
+
summary: `node: not on the PATH the gates inherit, though ${appDir} pins ` +
|
|
197
|
+
`${pins.map(describePin).join(", ")}; launch llm4ts from a shell with node on PATH`
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
const unmet = pins.filter((pin) => nodeVersionSatisfies(probed, pin.spec) === false);
|
|
201
|
+
const unchecked = pins.filter((pin) => nodeVersionSatisfies(probed, pin.spec) === undefined);
|
|
202
|
+
if (unmet.length > 0) {
|
|
203
|
+
return {
|
|
204
|
+
_tag: "Mismatch",
|
|
205
|
+
node: probed,
|
|
206
|
+
unmet,
|
|
207
|
+
summary: `node: the gates would run on Node ${probed} (the node on PATH), but ${appDir} pins ` +
|
|
208
|
+
`${unmet.map(describePin).join(", ")}. Launch llm4ts under a matching Node ` +
|
|
209
|
+
"(nvm use / fnm use), or add use-node-version=<x.y.z> to the application's .npmrc " +
|
|
210
|
+
"so pnpm fetches it, or set LLM4TS_NODE_CHECK=off to run anyway"
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
_tag: "Ok",
|
|
215
|
+
node: probed,
|
|
216
|
+
summary: `node: ${probed} satisfies ${pins
|
|
217
|
+
.filter((pin) => !unchecked.includes(pin))
|
|
218
|
+
.map(describePin)
|
|
219
|
+
.join(", ")}` +
|
|
220
|
+
(unchecked.length === 0
|
|
221
|
+
? ""
|
|
222
|
+
: `; ${unchecked.map(describePin).join(", ")} not checked (an alias only a version manager resolves)`)
|
|
223
|
+
};
|
|
224
|
+
});
|
|
225
|
+
/** The report on the run's events, or the run aborted before its first gate. */
|
|
226
|
+
export const nodePreflight = Effect.fn("@llm4ts/flow/NodePreflight.nodePreflight")(function* (process, files, events, appDir, environment) {
|
|
227
|
+
const report = yield* nodePreflightReport(process, files, appDir, environment);
|
|
228
|
+
if (report._tag === "Mismatch" || report._tag === "NoNode") {
|
|
229
|
+
return yield* FlowAborted.make({ message: report.summary });
|
|
230
|
+
}
|
|
231
|
+
yield* events.publish(Info.make({ message: report.summary }));
|
|
232
|
+
});
|
|
233
|
+
//# sourceMappingURL=NodePreflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodePreflight.js","sourceRoot":"","sources":["../src/NodePreflight.ts"],"names":[],"mappings":"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"}
|
package/dist/Review.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { JsonSchema } from "@llm4ts/core/Models";
|
|
|
5
5
|
import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor";
|
|
6
6
|
import type { Chat } from "./Chat.ts";
|
|
7
7
|
import { FlowLlmError, ProcessError, type FlowError } from "./FlowError.ts";
|
|
8
|
+
import type { PlainFileStoreShape } from "./Persistence.ts";
|
|
8
9
|
import { type FlowEventsShape } from "./FlowEvents.ts";
|
|
9
10
|
import { Reviewer } from "./Reviewer.ts";
|
|
10
11
|
import type { JudgmentShape } from "@llm4ts/core/judgment/Judgment";
|
|
@@ -74,6 +75,18 @@ export interface ReviewAndFixOptions {
|
|
|
74
75
|
* act mode skips lenses. Omit to disable the judgment entirely.
|
|
75
76
|
*/
|
|
76
77
|
readonly prescreen?: ReviewPrescreen;
|
|
78
|
+
/**
|
|
79
|
+
* Where each lens's answer is kept beside a fingerprint of the lens, the
|
|
80
|
+
* task and the diff: a rerun over an unchanged diff reuses it instead of
|
|
81
|
+
* asking again. One file per lens under `dir`.
|
|
82
|
+
*/
|
|
83
|
+
readonly cache?: ReviewCacheLocation;
|
|
84
|
+
/** Told after every round's findings are published, settled or not. */
|
|
85
|
+
readonly onRound?: (round: number, result: ReviewResult, settled: boolean) => Effect.Effect<void, FlowError>;
|
|
86
|
+
}
|
|
87
|
+
export interface ReviewCacheLocation {
|
|
88
|
+
readonly files: PlainFileStoreShape;
|
|
89
|
+
readonly dir: string;
|
|
77
90
|
}
|
|
78
91
|
export interface ReviewPrescreen {
|
|
79
92
|
readonly judgment: JudgmentShape;
|
package/dist/Review.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../src/Review.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../src/Review.ts"],"names":[],"mappings":"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"}
|