@llm4ts/flow 2.13.1 → 2.15.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,29 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import { type FactKey } from "@llm4ts/core/blackboard/Fact";
3
+ import { type Rule } from "@llm4ts/core/blackboard/Rule";
4
+ import type { RunError, RunResult } from "@llm4ts/core/blackboard/Run";
5
+ import { type RulesetInvalid } from "@llm4ts/core/blackboard/Ruleset";
6
+ import { Answer } from "@llm4ts/core/judgment/Schemas";
7
+ import { type FlowError } from "./FlowError.ts";
8
+ import { type FlowEventsShape } from "./FlowEvents.ts";
9
+ import { type JudgmentPolicy } from "./Judgment.ts";
10
+ import { Decision } from "./JudgmentTypes.ts";
11
+ /**
12
+ * What flow adds to the core blackboard (ADR 0020): the policy step core
13
+ * refuses to take. A `judge` rule posts an `Answer`; `decideRule` turns it
14
+ * into `act | caution | hold` with the run's `JudgmentPolicy`, so a company
15
+ * ruleset reads decisions, not probabilities.
16
+ */
17
+ export declare const answerKey: (name: string) => FactKey<Answer>;
18
+ export declare const decisionKey: (name: string) => FactKey<Decision>;
19
+ export interface DecideRuleOptions {
20
+ readonly name: string;
21
+ readonly answer: FactKey<Answer>;
22
+ readonly decision: FactKey<Decision>;
23
+ readonly policy?: JudgmentPolicy;
24
+ }
25
+ export declare const decideRule: (options: DecideRuleOptions) => Rule;
26
+ /** A run or ruleset failure as the flow's LLM error; messages name rules and keys only. */
27
+ export declare const runErrorToFlowError: (error: RunError | RulesetInvalid) => FlowError;
28
+ export declare const publishBlackboardRun: (events: FlowEventsShape, ruleset: string, result: RunResult) => Effect.Effect<void>;
29
+ //# sourceMappingURL=Blackboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Blackboard.d.ts","sourceRoot":"","sources":["../src/Blackboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEpF,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CAA0B,CAAA;AACjF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAAO,CAAC,QAAQ,CAA4B,CAAA;AAEvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,GAAI,SAAS,iBAAiB,KAAG,IAQpD,CAAA;AAEJ,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,GAAI,OAAO,QAAQ,GAAG,cAAc,KAAG,SAMtE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,eAAe,EACvB,SAAS,MAAM,EACf,QAAQ,SAAS,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4D,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { makeKey } from "@llm4ts/core/blackboard/Fact";
2
+ import { derive, on } from "@llm4ts/core/blackboard/Rule";
3
+ import { renderProblem } from "@llm4ts/core/blackboard/Ruleset";
4
+ import { ProviderError } from "@llm4ts/core/Errors";
5
+ import { Answer } from "@llm4ts/core/judgment/Schemas";
6
+ import { FlowLlmError } from "./FlowError.js";
7
+ import { BlackboardRun } from "./FlowEvents.js";
8
+ import { decide, defaultJudgmentPolicy } from "./Judgment.js";
9
+ import { Decision } from "./JudgmentTypes.js";
10
+ /**
11
+ * What flow adds to the core blackboard (ADR 0020): the policy step core
12
+ * refuses to take. A `judge` rule posts an `Answer`; `decideRule` turns it
13
+ * into `act | caution | hold` with the run's `JudgmentPolicy`, so a company
14
+ * ruleset reads decisions, not probabilities.
15
+ */
16
+ export const answerKey = (name) => makeKey(name, Answer);
17
+ export const decisionKey = (name) => makeKey(name, Decision);
18
+ export const decideRule = (options) => derive({
19
+ name: options.name,
20
+ condition: on(options.answer),
21
+ produces: [options.decision],
22
+ derive: (answer) => [
23
+ options.decision.of(decide(answer, options.policy ?? defaultJudgmentPolicy))
24
+ ]
25
+ });
26
+ /** A run or ruleset failure as the flow's LLM error; messages name rules and keys only. */
27
+ export const runErrorToFlowError = (error) => {
28
+ const message = error._tag === "RulesetInvalid"
29
+ ? `ruleset "${error.name}" is invalid: ${error.problems.map(renderProblem).join("; ")}`
30
+ : error.message;
31
+ return FlowLlmError.from(ProviderError.make({ message: `blackboard: ${message}` }));
32
+ };
33
+ export const publishBlackboardRun = (events, ruleset, result) => events.publish(BlackboardRun.make({ ruleset, result }));
34
+ //# sourceMappingURL=Blackboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Blackboard.js","sourceRoot":"","sources":["../src/Blackboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAgB,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAa,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAuB,MAAM,iCAAiC,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAuB,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAqB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AASvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAQ,EAAE,CAC7D,MAAM,CAAC;IACL,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC,CAAC;KAC7E;CACF,CAAC,CAAA;AAEJ,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAgC,EAAa,EAAE;IACjF,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC7B,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACvF,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IACnB,OAAO,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACrF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAuB,EACvB,OAAe,EACf,MAAiB,EACI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA"}
@@ -8,6 +8,7 @@ import * as Schema from "effect/Schema";
8
8
  import type * as Scope from "effect/Scope";
9
9
  import * as Stream from "effect/Stream";
10
10
  import { TokenUsage } from "@llm4ts/core/Models";
11
+ import { RunResult } from "@llm4ts/core/blackboard/Run";
11
12
  import { AnswerOrigin } from "@llm4ts/core/judgment/Schemas";
12
13
  export declare const JudgmentOutcome: Schema.Union<readonly [Schema.TaggedStruct<"ReviewPrescreen", {
13
14
  readonly lens: Schema.String;
@@ -20,10 +21,14 @@ export declare const JudgmentOutcome: Schema.Union<readonly [Schema.TaggedStruct
20
21
  readonly literalMatch: Schema.Boolean;
21
22
  }>, Schema.TaggedStruct<"ProgramJudge", {
22
23
  readonly score: Schema.Number;
24
+ }>, Schema.TaggedStruct<"StoryBoard", {
25
+ readonly dimension: Schema.String;
26
+ readonly score: Schema.Number;
27
+ readonly mergeable: Schema.Boolean;
23
28
  }>]>;
24
29
  export type JudgmentOutcome = typeof JudgmentOutcome.Type;
25
30
  declare const JudgmentObserved_base: Schema.Class<JudgmentObserved, Schema.TaggedStruct<"JudgmentObserved", {
26
- readonly consumer: Schema.Literals<readonly ["review-prescreen", "satisfied-probe", "program-judge"]>;
31
+ readonly consumer: Schema.Literals<readonly ["review-prescreen", "satisfied-probe", "program-judge", "story-board"]>;
27
32
  readonly key: Schema.String;
28
33
  readonly state: Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.String>]>;
29
34
  readonly question: Schema.Union<readonly [typeof import("@llm4ts/core/judgment/Schemas").ChoiceQuestion, typeof import("@llm4ts/core/judgment/Schemas").ScoreQuestion, typeof import("@llm4ts/core/judgment/Schemas").TruthQuestion]>;
@@ -44,6 +49,10 @@ declare const JudgmentObserved_base: Schema.Class<JudgmentObserved, Schema.Tagge
44
49
  readonly literalMatch: Schema.Boolean;
45
50
  }>, Schema.TaggedStruct<"ProgramJudge", {
46
51
  readonly score: Schema.Number;
52
+ }>, Schema.TaggedStruct<"StoryBoard", {
53
+ readonly dimension: Schema.String;
54
+ readonly score: Schema.Number;
55
+ readonly mergeable: Schema.Boolean;
47
56
  }>]>;
48
57
  readonly mode: Schema.Literals<readonly ["observe", "advise", "act"]>;
49
58
  }>, {}>;
@@ -182,7 +191,14 @@ declare const Declassified_base: Schema.Class<Declassified, Schema.TaggedStruct<
182
191
  }>, {}>;
183
192
  export declare class Declassified extends Declassified_base {
184
193
  }
185
- export declare const FlowEvent: Schema.Union<readonly [typeof JudgmentObserved, typeof StageStarted, typeof StageCompleted, typeof StageFailed, typeof Aborted, typeof Info, typeof ToolUse, typeof AssistantMessage, typeof TokensUsed, typeof UsageProgress, typeof ReviewFindings, typeof CapabilityUsedEvent, typeof CapabilityDeniedEvent, typeof CapabilityUnenforceable, typeof Declassified]>;
194
+ declare const BlackboardRun_base: Schema.Class<BlackboardRun, Schema.TaggedStruct<"BlackboardRun", {
195
+ readonly ruleset: Schema.String;
196
+ readonly result: typeof RunResult;
197
+ }>, {}>;
198
+ /** A blackboard ruleset ran (ADR 0020): its board, trace and failures, for the trace file. */
199
+ export declare class BlackboardRun extends BlackboardRun_base {
200
+ }
201
+ export declare const FlowEvent: Schema.Union<readonly [typeof JudgmentObserved, typeof BlackboardRun, typeof StageStarted, typeof StageCompleted, typeof StageFailed, typeof Aborted, typeof Info, typeof ToolUse, typeof AssistantMessage, typeof TokensUsed, typeof UsageProgress, typeof ReviewFindings, typeof CapabilityUsedEvent, typeof CapabilityDeniedEvent, typeof CapabilityUnenforceable, typeof Declassified]>;
186
202
  export type FlowEvent = typeof FlowEvent.Type;
187
203
  export declare const FlowEventsValues: Readonly<{
188
204
  CapabilityUsed: (capability: string, operation: string) => CapabilityUsedEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowEvents.d.ts","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowEvents.d.ts","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import * as Ref from "effect/Ref";
7
7
  import * as Schema from "effect/Schema";
8
8
  import * as Stream from "effect/Stream";
9
9
  import { TokenUsage } from "@llm4ts/core/Models";
10
+ import { RunResult } from "@llm4ts/core/blackboard/Run";
10
11
  import { Answer, AnswerOrigin, Question, State } from "@llm4ts/core/judgment/Schemas";
11
12
  import { Decision, JudgmentMode } from "./JudgmentTypes.js";
12
13
  export const JudgmentOutcome = Schema.Union([
@@ -15,10 +16,20 @@ export const JudgmentOutcome = Schema.Union([
15
16
  issues: Schema.Struct({ Critical: Schema.Int, Warning: Schema.Int, Info: Schema.Int })
16
17
  }),
17
18
  Schema.TaggedStruct("SatisfiedProbe", { literalMatch: Schema.Boolean }),
18
- Schema.TaggedStruct("ProgramJudge", { score: Schema.Number })
19
+ Schema.TaggedStruct("ProgramJudge", { score: Schema.Number }),
20
+ Schema.TaggedStruct("StoryBoard", {
21
+ dimension: Schema.String,
22
+ score: Schema.Number,
23
+ mergeable: Schema.Boolean
24
+ })
19
25
  ]);
20
26
  export class JudgmentObserved extends Schema.TaggedClass()("JudgmentObserved", {
21
- consumer: Schema.Literals(["review-prescreen", "satisfied-probe", "program-judge"]),
27
+ consumer: Schema.Literals([
28
+ "review-prescreen",
29
+ "satisfied-probe",
30
+ "program-judge",
31
+ "story-board"
32
+ ]),
22
33
  key: Schema.String,
23
34
  state: State,
24
35
  question: Question,
@@ -150,8 +161,15 @@ export class Declassified extends Schema.TaggedClass()("Declassified", {
150
161
  label: Schema.String
151
162
  }) {
152
163
  }
164
+ /** A blackboard ruleset ran (ADR 0020): its board, trace and failures, for the trace file. */
165
+ export class BlackboardRun extends Schema.TaggedClass()("BlackboardRun", {
166
+ ruleset: Schema.String,
167
+ result: RunResult
168
+ }) {
169
+ }
153
170
  export const FlowEvent = Schema.Union([
154
171
  JudgmentObserved,
172
+ BlackboardRun,
155
173
  StageStarted,
156
174
  StageCompleted,
157
175
  StageFailed,
@@ -1 +1 @@
1
- {"version":3,"file":"FlowEvents.js","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;IAC1C,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACrC,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;KACvF,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACvE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;CAC9D,CAAC,CAAA;AAGF,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACnF,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,MAAM;IACd,gBAAgB,EAAE,MAAM,CAAC,MAAM;IAC/B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,YAAY;CACnB,CAAC;CAAG;AAEL,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE;IACnF,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAAC,aAAa,EAAE;IAChF,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,OAAQ,SAAQ,MAAM,CAAC,WAAW,EAAW,CAAC,SAAS,EAAE;IACpE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,IAAK,SAAQ,MAAM,CAAC,WAAW,EAAQ,CAAC,MAAM,EAAE;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,OAAQ,SAAQ,MAAM,CAAC,WAAW,EAAW,CAAC,SAAS,EAAE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,YAAY,EAAE;IAC7E,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,UAAU;IACjB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,+DAA+D;AAC/D,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,KAAK,CAAgB,eAAe,CAAC,CAAC;IAC9E,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;CACrC,CAAC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,WAAW,EAAiB,CAAC,eAAe,EAAE;IACtF,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAChF,gBAAgB,EAChB;IACE,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,kBAAkB,EAClB;IACE,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAEJ,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CACF;CAAG;AAEJ,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE;IACnF,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IACpC,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,WAAW;IACX,OAAO;IACP,IAAI;IACJ,OAAO;IACP,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,uBAAuB;IACvB,YAAY;CACb,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC,UAAkB,EAAE,SAAiB,EAAuB,EAAE,CAC7E,IAAI,mBAAmB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACpD,gBAAgB,EAAE,CAAC,UAAkB,EAAE,SAAiB,EAAyB,EAAE,CACjF,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACtD,uBAAuB,EAAE,CAAC,MAAc,EAA2B,EAAE,CACnE,IAAI,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,YAAY,EAAE,CAAC,KAAa,EAAgB,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;CAC3E,CAAC,CAAA;AAgBF,uGAAuG;AACvG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAA2B,EAAU,EAAE;IACnF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CACd,KAAgB,EAChB,IAAY,EACZ,QAA4B,EAC5B,OAA2B,EAChB,EAAE;IACb,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACtE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC9F,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAChG,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC/E,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC1F,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC1C,GAAG,IAAI;iBACR,CAAC,CAAA;QACR,KAAK,kBAAkB;YACrB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAChG,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,GAAG,IAAI;iBACR,CAAC,CAAA;QACR,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzD,GAAG,IAAI;iBACR,CAAC,CAAA;QACR,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC5D,GAAG,IAAI;iBACR,CAAC,CAAA;QACR;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAAE,IAAU,EAAmB,EAAE,CAAC,CAAC;IACjF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAClE;CACJ,CAAC,CAAA;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,iDAAiD,CAAC,CACjG,QAAQ,CAAC,EAAE,MAAuB,EAAE,WAA6B;IAC/D,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,IAAI,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,YAAY,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,GAAG,MAAM,WAAW,CAAC,QAAQ,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;SAC1I,CAAC,CACH,CAAA;IACH,CAAC;AACH,CAAC,CACF,CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,OAAO,EAA+B,CAC5E,yBAAyB,CAC1B;CAAG;AAEJ,MAAM,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CAAA;AAMvE,MAAM,CAAC,MAAM,wBAAwB,GAAwC,MAAM,CAAC,GAAG,CACrF,GAAG,CAAC,IAAI,CAA2B,EAAE,CAAC,EACtC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1E,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;CAC1B,CAAC,CACH,CAAA;AAQD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,EACpF,QAAQ,GAAG,EAAE;IAEb,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAY,QAAQ,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpC,OAAO;QACL,uEAAuE;QACvE,oEAAoE;QACpE,wEAAwE;QACxE,oEAAoE;QACpE,sCAAsC;QACtC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACrE,EACD,MAAM,CAAC,MAAM,CACd;QACH,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACjC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;KACnC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAiB,EACjB,QAAyB,EACzB,UAA0B,mBAAmB,EACrB,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAA;IACxC,MAAM,KAAK,GAAwB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACrD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC5E,CACF,CACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"FlowEvents.js","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ declare const JudgmentObservation_base: Schema.Class<JudgmentObservation, Schema
8
8
  readonly runId: Schema.String;
9
9
  /** Epoch milliseconds, matching FlowRecorder's timestamp. */
10
10
  readonly at: Schema.Number;
11
- readonly consumer: Schema.Literals<readonly ["review-prescreen", "satisfied-probe", "program-judge"]>;
11
+ readonly consumer: Schema.Literals<readonly ["review-prescreen", "satisfied-probe", "program-judge", "story-board"]>;
12
12
  readonly key: Schema.String;
13
13
  readonly state: Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.String>]>;
14
14
  readonly question: Schema.Union<readonly [typeof import("@llm4ts/core/judgment/Schemas.ts").ChoiceQuestion, typeof import("@llm4ts/core/judgment/Schemas.ts").ScoreQuestion, typeof import("@llm4ts/core/judgment/Schemas.ts").TruthQuestion]>;
@@ -24,6 +24,10 @@ declare const JudgmentObservation_base: Schema.Class<JudgmentObservation, Schema
24
24
  readonly literalMatch: Schema.Boolean;
25
25
  }>, Schema.TaggedStruct<"ProgramJudge", {
26
26
  readonly score: Schema.Number;
27
+ }>, Schema.TaggedStruct<"StoryBoard", {
28
+ readonly dimension: Schema.String;
29
+ readonly score: Schema.Number;
30
+ readonly mergeable: Schema.Boolean;
27
31
  }>]>;
28
32
  readonly decision: Schema.Literals<readonly ["act", "caution", "hold"]>;
29
33
  readonly mode: Schema.Literals<readonly ["observe", "advise", "act"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"JudgmentLog.d.ts","sourceRoot":"","sources":["../src/JudgmentLog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAmC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;IAIzD,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;AAF/D,qBAAa,mBAAoB,SAAQ,wBAavC;CAAG;AAEL,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,mBAAmB,CAAC,UAAU,CAAC,KAAG,MACpB,CAAA;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAChF,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC/F;AAID,4FAA4F;AAC5F,eAAO,MAAM,eAAe;oBACV,mBAAmB;mBACpB,MAAM;oBACL,MAAM;mDA6CtB,CAAA"}
1
+ {"version":3,"file":"JudgmentLog.d.ts","sourceRoot":"","sources":["../src/JudgmentLog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAmC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;IAIzD,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;AAF/D,qBAAa,mBAAoB,SAAQ,wBAavC;CAAG;AAEL,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,mBAAmB,CAAC,UAAU,CAAC,KAAG,MACpB,CAAA;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAChF,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC/F;AAID,4FAA4F;AAC5F,eAAO,MAAM,eAAe;oBACV,mBAAmB;mBACpB,MAAM;oBACL,MAAM;mDA6CtB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/flow",
3
- "version": "2.13.1",
3
+ "version": "2.15.0",
4
4
  "description": "Effect-native LLM workflow, persistence, review, and repository automation",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,6 +21,7 @@
21
21
  "./BasecampTool": "./dist/BasecampTool.js",
22
22
  "./Bench": "./dist/Bench.js",
23
23
  "./BenchReport": "./dist/BenchReport.js",
24
+ "./Blackboard": "./dist/Blackboard.js",
24
25
  "./BoardSync": "./dist/BoardSync.js",
25
26
  "./CapabilityGuard": "./dist/CapabilityGuard.js",
26
27
  "./Chat": "./dist/Chat.js",
@@ -101,7 +102,7 @@
101
102
  "typescript"
102
103
  ],
103
104
  "dependencies": {
104
- "@llm4ts/core": "2.13.1"
105
+ "@llm4ts/core": "2.15.0"
105
106
  },
106
107
  "peerDependencies": {
107
108
  "effect": "4.0.0-rc.115"
@@ -0,0 +1,53 @@
1
+ import type * as Effect from "effect/Effect"
2
+ import { makeKey, type FactKey } from "@llm4ts/core/blackboard/Fact"
3
+ import { derive, on, type Rule } from "@llm4ts/core/blackboard/Rule"
4
+ import type { RunError, RunResult } from "@llm4ts/core/blackboard/Run"
5
+ import { renderProblem, type RulesetInvalid } from "@llm4ts/core/blackboard/Ruleset"
6
+ import { ProviderError } from "@llm4ts/core/Errors"
7
+ import { Answer } from "@llm4ts/core/judgment/Schemas"
8
+ import { FlowLlmError, type FlowError } from "./FlowError.ts"
9
+ import { BlackboardRun, type FlowEventsShape } from "./FlowEvents.ts"
10
+ import { decide, defaultJudgmentPolicy, type JudgmentPolicy } from "./Judgment.ts"
11
+ import { Decision } from "./JudgmentTypes.ts"
12
+
13
+ /**
14
+ * What flow adds to the core blackboard (ADR 0020): the policy step core
15
+ * refuses to take. A `judge` rule posts an `Answer`; `decideRule` turns it
16
+ * into `act | caution | hold` with the run's `JudgmentPolicy`, so a company
17
+ * ruleset reads decisions, not probabilities.
18
+ */
19
+
20
+ export const answerKey = (name: string): FactKey<Answer> => makeKey(name, Answer)
21
+ export const decisionKey = (name: string): FactKey<Decision> => makeKey(name, Decision)
22
+
23
+ export interface DecideRuleOptions {
24
+ readonly name: string
25
+ readonly answer: FactKey<Answer>
26
+ readonly decision: FactKey<Decision>
27
+ readonly policy?: JudgmentPolicy
28
+ }
29
+
30
+ export const decideRule = (options: DecideRuleOptions): Rule =>
31
+ derive({
32
+ name: options.name,
33
+ condition: on(options.answer),
34
+ produces: [options.decision],
35
+ derive: (answer) => [
36
+ options.decision.of(decide(answer, options.policy ?? defaultJudgmentPolicy))
37
+ ]
38
+ })
39
+
40
+ /** A run or ruleset failure as the flow's LLM error; messages name rules and keys only. */
41
+ export const runErrorToFlowError = (error: RunError | RulesetInvalid): FlowError => {
42
+ const message =
43
+ error._tag === "RulesetInvalid"
44
+ ? `ruleset "${error.name}" is invalid: ${error.problems.map(renderProblem).join("; ")}`
45
+ : error.message
46
+ return FlowLlmError.from(ProviderError.make({ message: `blackboard: ${message}` }))
47
+ }
48
+
49
+ export const publishBlackboardRun = (
50
+ events: FlowEventsShape,
51
+ ruleset: string,
52
+ result: RunResult
53
+ ): Effect.Effect<void> => events.publish(BlackboardRun.make({ ruleset, result }))
package/src/FlowEvents.ts CHANGED
@@ -9,6 +9,7 @@ import * as Schema from "effect/Schema"
9
9
  import type * as Scope from "effect/Scope"
10
10
  import * as Stream from "effect/Stream"
11
11
  import { TokenUsage } from "@llm4ts/core/Models"
12
+ import { RunResult } from "@llm4ts/core/blackboard/Run"
12
13
  import { Answer, AnswerOrigin, Question, State } from "@llm4ts/core/judgment/Schemas"
13
14
  import { Decision, JudgmentMode } from "./JudgmentTypes.ts"
14
15
 
@@ -18,12 +19,22 @@ export const JudgmentOutcome = Schema.Union([
18
19
  issues: Schema.Struct({ Critical: Schema.Int, Warning: Schema.Int, Info: Schema.Int })
19
20
  }),
20
21
  Schema.TaggedStruct("SatisfiedProbe", { literalMatch: Schema.Boolean }),
21
- Schema.TaggedStruct("ProgramJudge", { score: Schema.Number })
22
+ Schema.TaggedStruct("ProgramJudge", { score: Schema.Number }),
23
+ Schema.TaggedStruct("StoryBoard", {
24
+ dimension: Schema.String,
25
+ score: Schema.Number,
26
+ mergeable: Schema.Boolean
27
+ })
22
28
  ])
23
29
  export type JudgmentOutcome = typeof JudgmentOutcome.Type
24
30
 
25
31
  export class JudgmentObserved extends Schema.TaggedClass<JudgmentObserved>()("JudgmentObserved", {
26
- consumer: Schema.Literals(["review-prescreen", "satisfied-probe", "program-judge"]),
32
+ consumer: Schema.Literals([
33
+ "review-prescreen",
34
+ "satisfied-probe",
35
+ "program-judge",
36
+ "story-board"
37
+ ]),
27
38
  key: Schema.String,
28
39
  state: State,
29
40
  question: Question,
@@ -164,8 +175,15 @@ export class Declassified extends Schema.TaggedClass<Declassified>()("Declassifi
164
175
  label: Schema.String
165
176
  }) {}
166
177
 
178
+ /** A blackboard ruleset ran (ADR 0020): its board, trace and failures, for the trace file. */
179
+ export class BlackboardRun extends Schema.TaggedClass<BlackboardRun>()("BlackboardRun", {
180
+ ruleset: Schema.String,
181
+ result: RunResult
182
+ }) {}
183
+
167
184
  export const FlowEvent = Schema.Union([
168
185
  JudgmentObserved,
186
+ BlackboardRun,
169
187
  StageStarted,
170
188
  StageCompleted,
171
189
  StageFailed,