@llm4ts/flow 2.4.2 → 2.6.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.
Files changed (82) hide show
  1. package/dist/Classified.d.ts +2 -0
  2. package/dist/Classified.d.ts.map +1 -1
  3. package/dist/Classified.js +4 -0
  4. package/dist/Classified.js.map +1 -1
  5. package/dist/CostReport.d.ts +110 -0
  6. package/dist/CostReport.d.ts.map +1 -0
  7. package/dist/CostReport.js +313 -0
  8. package/dist/CostReport.js.map +1 -0
  9. package/dist/EstimatedUsage.d.ts.map +1 -1
  10. package/dist/EstimatedUsage.js +4 -0
  11. package/dist/EstimatedUsage.js.map +1 -1
  12. package/dist/Flow.d.ts +14 -0
  13. package/dist/Flow.d.ts.map +1 -1
  14. package/dist/Flow.js +45 -2
  15. package/dist/Flow.js.map +1 -1
  16. package/dist/FlowContext.d.ts +7 -0
  17. package/dist/FlowContext.d.ts.map +1 -1
  18. package/dist/FlowContext.js.map +1 -1
  19. package/dist/FlowEvents.d.ts +44 -1
  20. package/dist/FlowEvents.d.ts.map +1 -1
  21. package/dist/FlowEvents.js +35 -0
  22. package/dist/FlowEvents.js.map +1 -1
  23. package/dist/GitTool.d.ts +7 -0
  24. package/dist/GitTool.d.ts.map +1 -1
  25. package/dist/GitTool.js +15 -1
  26. package/dist/GitTool.js.map +1 -1
  27. package/dist/Judgment.d.ts +88 -0
  28. package/dist/Judgment.d.ts.map +1 -0
  29. package/dist/Judgment.js +281 -0
  30. package/dist/Judgment.js.map +1 -0
  31. package/dist/JudgmentDataset.d.ts +79 -0
  32. package/dist/JudgmentDataset.d.ts.map +1 -0
  33. package/dist/JudgmentDataset.js +164 -0
  34. package/dist/JudgmentDataset.js.map +1 -0
  35. package/dist/JudgmentEval.d.ts +143 -0
  36. package/dist/JudgmentEval.d.ts.map +1 -0
  37. package/dist/JudgmentEval.js +242 -0
  38. package/dist/JudgmentEval.js.map +1 -0
  39. package/dist/JudgmentLog.d.ts +46 -0
  40. package/dist/JudgmentLog.d.ts.map +1 -0
  41. package/dist/JudgmentLog.js +62 -0
  42. package/dist/JudgmentLog.js.map +1 -0
  43. package/dist/JudgmentTypes.d.ts +13 -0
  44. package/dist/JudgmentTypes.d.ts.map +1 -0
  45. package/dist/JudgmentTypes.js +11 -0
  46. package/dist/JudgmentTypes.js.map +1 -0
  47. package/dist/ProgramJudge.d.ts +15 -2
  48. package/dist/ProgramJudge.d.ts.map +1 -1
  49. package/dist/ProgramJudge.js +58 -3
  50. package/dist/ProgramJudge.js.map +1 -1
  51. package/dist/Replay.d.ts.map +1 -1
  52. package/dist/Replay.js +9 -4
  53. package/dist/Replay.js.map +1 -1
  54. package/dist/Review.d.ts +35 -0
  55. package/dist/Review.d.ts.map +1 -1
  56. package/dist/Review.js +92 -13
  57. package/dist/Review.js.map +1 -1
  58. package/dist/Reviewer.d.ts +8 -0
  59. package/dist/Reviewer.d.ts.map +1 -1
  60. package/dist/Reviewer.js +12 -1
  61. package/dist/Reviewer.js.map +1 -1
  62. package/dist/TransientRetry.d.ts.map +1 -1
  63. package/dist/TransientRetry.js +1 -0
  64. package/dist/TransientRetry.js.map +1 -1
  65. package/package.json +8 -3
  66. package/src/Classified.ts +5 -0
  67. package/src/CostReport.ts +402 -0
  68. package/src/EstimatedUsage.ts +15 -0
  69. package/src/Flow.ts +77 -2
  70. package/src/FlowContext.ts +7 -0
  71. package/src/FlowEvents.ts +42 -0
  72. package/src/GitTool.ts +19 -1
  73. package/src/Judgment.ts +418 -0
  74. package/src/JudgmentDataset.ts +254 -0
  75. package/src/JudgmentEval.ts +306 -0
  76. package/src/JudgmentLog.ts +96 -0
  77. package/src/JudgmentTypes.ts +15 -0
  78. package/src/ProgramJudge.ts +89 -4
  79. package/src/Replay.ts +23 -17
  80. package/src/Review.ts +163 -13
  81. package/src/Reviewer.ts +15 -1
  82. package/src/TransientRetry.ts +1 -0
@@ -9,6 +9,8 @@ export declare class Classified<A> {
9
9
  static of<A>(value: A): Classified<A>;
10
10
  map<B>(transform: (value: A) => B): Classified<B>;
11
11
  declassify(label: string): Effect.Effect<A, FlowCapabilityDenied, FlowEvents>;
12
+ /** JSON boundaries must use the same sealed representation as text boundaries. */
13
+ toJSON(): string;
12
14
  toString(): string;
13
15
  }
14
16
  //# sourceMappingURL=Classified.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Classified.d.ts","sourceRoot":"","sources":["../src/Classified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAgB,KAAK,UAAU,EAAyB,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,UAAU,EAA0C,MAAM,iBAAiB,CAAA;AAiBpF,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,YAAY,UAAU,EACtB,WAAW,MAAM,EACjB,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,GAAG,UAAU,CAgBxD,CAAA;AAEJ,qBAAa,UAAU,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIjD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,EAAE,UAAU,CAAC;IAU7E,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"Classified.d.ts","sourceRoot":"","sources":["../src/Classified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAgB,KAAK,UAAU,EAAyB,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,UAAU,EAA0C,MAAM,iBAAiB,CAAA;AAiBpF,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,YAAY,UAAU,EACtB,WAAW,MAAM,EACjB,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,GAAG,UAAU,CAgBxD,CAAA;AAEJ,qBAAa,UAAU,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIjD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,EAAE,UAAU,CAAC;IAU7E,kFAAkF;IAClF,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -41,6 +41,10 @@ export class Classified {
41
41
  declassify(label) {
42
42
  return guarded(Capabilities.Declassify, `declassify ${label}`, Effect.flatMap(FlowEvents, (events) => Effect.as(events.publish(FlowEventsValues.Declassified(label)), this.value)));
43
43
  }
44
+ /** JSON boundaries must use the same sealed representation as text boundaries. */
45
+ toJSON() {
46
+ return this.toString();
47
+ }
44
48
  toString() {
45
49
  return "Classified(…)";
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Classified.js","sourceRoot":"","sources":["../src/Classified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAmB,MAAM,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAA;AAEpF,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAU,EAAE,CACxD,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;AAE9E,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAW,EAAE;IACzD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,IAAI,CAAA;QACb;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,UAAsB,EACtB,SAAiB,EACjB,IAA4B,EACgC,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAoB,KAAK,CAAC,CAAC,UAAU,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;QACzE,OAAO,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,IAAI,CAAA;AACpB,CAAC,CAAC,CAAA;AAEJ,MAAM,OAAO,UAAU;IACgB;IAArC,YAAqC,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEjD,MAAM,CAAC,EAAE,CAAI,KAAQ;QACnB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAI,SAA0B;QAC/B,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,OAAO,OAAO,CACZ,YAAY,CAAC,UAAU,EACvB,cAAc,KAAK,EAAE,EACrB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAC5E,CACF,CAAA;IACH,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,CAAA;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"Classified.js","sourceRoot":"","sources":["../src/Classified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAmB,MAAM,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAA;AAEpF,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAU,EAAE,CACxD,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;AAE9E,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAW,EAAE;IACzD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,IAAI,CAAA;QACb;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,UAAsB,EACtB,SAAiB,EACjB,IAA4B,EACgC,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAoB,KAAK,CAAC,CAAC,UAAU,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;QACzE,OAAO,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,IAAI,CAAA;AACpB,CAAC,CAAC,CAAA;AAEJ,MAAM,OAAO,UAAU;IACgB;IAArC,YAAqC,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEjD,MAAM,CAAC,EAAE,CAAI,KAAQ;QACnB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAI,SAA0B;QAC/B,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,OAAO,OAAO,CACZ,YAAY,CAAC,UAAU,EACvB,cAAc,KAAK,EAAE,EACrB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAC5E,CACF,CAAA;IACH,CAAC;IAED,kFAAkF;IAClF,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,110 @@
1
+ import * as DateTime from "effect/DateTime";
2
+ import * as Schema from "effect/Schema";
3
+ import type { TraceLine } from "./FlowRecorder.ts";
4
+ /**
5
+ * Cross-run usage report for budgeting.
6
+ *
7
+ * A run's cost summary (`CostTracker`) answers "what did this run cost"; this
8
+ * module answers "what do my runs cost per day, per hour, and per run" from
9
+ * the `TokensUsed` lines every trace already records. Measured usage (a
10
+ * backend's own token counts) and estimated usage (`EstimatedUsage`'s
11
+ * character-count fallback, labelled `estimated:<model>`) are kept in separate
12
+ * columns so a budget never mistakes one for the other.
13
+ */
14
+ export declare const UnknownModel = "(unknown)";
15
+ declare const UsageSample_base: Schema.Class<UsageSample, Schema.Struct<{
16
+ /** Epoch milliseconds of the token report. */
17
+ readonly at: Schema.Number;
18
+ readonly runId: Schema.String;
19
+ readonly agent: Schema.String;
20
+ readonly model: Schema.String;
21
+ readonly prompt: Schema.Int;
22
+ readonly completion: Schema.Int;
23
+ readonly total: Schema.Int;
24
+ readonly cached: Schema.optionalKey<Schema.Int>;
25
+ readonly costUsd: Schema.optionalKey<Schema.Number>;
26
+ readonly estimated: Schema.Boolean;
27
+ }>, {}>;
28
+ export declare class UsageSample extends UsageSample_base {
29
+ }
30
+ declare const UsageTotals_base: Schema.Class<UsageTotals, Schema.Struct<{
31
+ readonly requests: Schema.Int;
32
+ readonly prompt: Schema.Int;
33
+ readonly completion: Schema.Int;
34
+ readonly total: Schema.Int;
35
+ readonly cached: Schema.optionalKey<Schema.Int>;
36
+ readonly costUsd: Schema.optionalKey<Schema.Number>;
37
+ }>, {}>;
38
+ export declare class UsageTotals extends UsageTotals_base {
39
+ }
40
+ declare const UsageBucket_base: Schema.Class<UsageBucket, Schema.Struct<{
41
+ /** `YYYY-MM-DD` for a day, `YYYY-MM-DD HH:00` for an hour, in the report's zone. */
42
+ readonly key: Schema.String;
43
+ readonly runs: Schema.Int;
44
+ readonly measured: typeof UsageTotals;
45
+ readonly estimated: typeof UsageTotals;
46
+ }>, {}>;
47
+ export declare class UsageBucket extends UsageBucket_base {
48
+ }
49
+ declare const ModelUsage_base: Schema.Class<ModelUsage, Schema.Struct<{
50
+ readonly model: Schema.String;
51
+ readonly estimated: Schema.Boolean;
52
+ readonly totals: typeof UsageTotals;
53
+ }>, {}>;
54
+ export declare class ModelUsage extends ModelUsage_base {
55
+ }
56
+ declare const UsageAverages_base: Schema.Class<UsageAverages, Schema.Struct<{
57
+ readonly activeDays: Schema.Int;
58
+ readonly calendarDays: Schema.Int;
59
+ readonly activeHours: Schema.Int;
60
+ readonly tokensPerActiveDay: Schema.Int;
61
+ readonly tokensPerCalendarDay: Schema.Int;
62
+ readonly tokensPerActiveHour: Schema.Int;
63
+ readonly tokensPerRun: Schema.Int;
64
+ readonly costUsdPerActiveDay: Schema.optionalKey<Schema.Number>;
65
+ readonly costUsdPerCalendarDay: Schema.optionalKey<Schema.Number>;
66
+ readonly costUsdPerActiveHour: Schema.optionalKey<Schema.Number>;
67
+ readonly costUsdPerRun: Schema.optionalKey<Schema.Number>;
68
+ readonly peakDay: Schema.optionalKey<Schema.String>;
69
+ readonly peakHour: Schema.optionalKey<Schema.String>;
70
+ }>, {}>;
71
+ export declare class UsageAverages extends UsageAverages_base {
72
+ }
73
+ declare const UsageProjection_base: Schema.Class<UsageProjection, Schema.Struct<{
74
+ readonly runsPerDay: Schema.Number;
75
+ readonly tokensPerDay: Schema.Int;
76
+ readonly costUsdPerDay: Schema.optionalKey<Schema.Number>;
77
+ }>, {}>;
78
+ export declare class UsageProjection extends UsageProjection_base {
79
+ }
80
+ declare const CostReport_base: Schema.Class<CostReport, Schema.Struct<{
81
+ readonly schemaVersion: Schema.Int;
82
+ readonly timeZone: Schema.String;
83
+ readonly pricesAsOf: Schema.String;
84
+ readonly from: Schema.optionalKey<Schema.String>;
85
+ readonly to: Schema.optionalKey<Schema.String>;
86
+ readonly runs: Schema.Int;
87
+ readonly requests: Schema.Int;
88
+ readonly measured: typeof UsageTotals;
89
+ readonly estimated: typeof UsageTotals;
90
+ readonly averages: typeof UsageAverages;
91
+ readonly projection: Schema.optionalKey<typeof UsageProjection>;
92
+ readonly byDay: Schema.$Array<typeof UsageBucket>;
93
+ readonly byHour: Schema.$Array<typeof UsageBucket>;
94
+ readonly byModel: Schema.$Array<typeof ModelUsage>;
95
+ }>, {}>;
96
+ export declare class CostReport extends CostReport_base {
97
+ }
98
+ export declare const CurrentCostReportSchema = 1;
99
+ /** The token reports of one trace, in trace order; malformed lines are skipped. */
100
+ export declare const usageSamplesFromTrace: (lines: ReadonlyArray<TraceLine>) => ReadonlyArray<UsageSample>;
101
+ export interface CostReportOptions {
102
+ /** Zone the day and hour buckets are cut in. Default UTC. */
103
+ readonly timeZone?: DateTime.TimeZone;
104
+ /** Assumed daily run count for the projection line; none when absent. */
105
+ readonly runsPerDay?: number;
106
+ }
107
+ export declare const buildCostReport: (samples: ReadonlyArray<UsageSample>, options?: CostReportOptions) => CostReport;
108
+ export declare const renderCostReport: (report: CostReport) => string;
109
+ export {};
110
+ //# sourceMappingURL=CostReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostReport.d.ts","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGlD;;;;;;;;;GASG;AAEH,eAAO,MAAM,YAAY,cAAc,CAAA;;IAGrC,8CAA8C;;;;;;;;;;;;AADhD,qBAAa,WAAY,SAAQ,gBAY/B;CAAG;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAO/B;CAAG;;IAGH,oFAAoF;;;;;;AADtF,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;;;;;;AAEL,qBAAa,UAAW,SAAQ,eAI9B;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAcjC;CAAG;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAInC;CAAG;;;;;;;;;;;;;;;;;AAEL,qBAAa,UAAW,SAAQ,eAe9B;CAAG;AAEL,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAUxC,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,GAChC,OAAO,aAAa,CAAC,SAAS,CAAC,KAC9B,aAAa,CAAC,WAAW,CA8BxB,CAAA;AA8FJ,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,CAAC,WAAW,CAAC,EACnC,UAAS,iBAAsB,KAC9B,UAgFF,CAAA;AAqBD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,UAAU,KAAG,MAuDrD,CAAA"}
@@ -0,0 +1,313 @@
1
+ import * as DateTime from "effect/DateTime";
2
+ import * as Option from "effect/Option";
3
+ import * as Schema from "effect/Schema";
4
+ import { isEstimatedModel } from "./EstimatedUsage.js";
5
+ import { TokensUsed } from "./FlowEvents.js";
6
+ import { estimateCostUsd, PricesAsOf } from "./PriceList.js";
7
+ /**
8
+ * Cross-run usage report for budgeting.
9
+ *
10
+ * A run's cost summary (`CostTracker`) answers "what did this run cost"; this
11
+ * module answers "what do my runs cost per day, per hour, and per run" from
12
+ * the `TokensUsed` lines every trace already records. Measured usage (a
13
+ * backend's own token counts) and estimated usage (`EstimatedUsage`'s
14
+ * character-count fallback, labelled `estimated:<model>`) are kept in separate
15
+ * columns so a budget never mistakes one for the other.
16
+ */
17
+ export const UnknownModel = "(unknown)";
18
+ export class UsageSample extends Schema.Class("UsageSample")({
19
+ /** Epoch milliseconds of the token report. */
20
+ at: Schema.Number,
21
+ runId: Schema.String,
22
+ agent: Schema.String,
23
+ model: Schema.String,
24
+ prompt: Schema.Int,
25
+ completion: Schema.Int,
26
+ total: Schema.Int,
27
+ cached: Schema.optionalKey(Schema.Int),
28
+ costUsd: Schema.optionalKey(Schema.Number),
29
+ estimated: Schema.Boolean
30
+ }) {
31
+ }
32
+ export class UsageTotals extends Schema.Class("UsageTotals")({
33
+ requests: Schema.Int,
34
+ prompt: Schema.Int,
35
+ completion: Schema.Int,
36
+ total: Schema.Int,
37
+ cached: Schema.optionalKey(Schema.Int),
38
+ costUsd: Schema.optionalKey(Schema.Number)
39
+ }) {
40
+ }
41
+ export class UsageBucket extends Schema.Class("UsageBucket")({
42
+ /** `YYYY-MM-DD` for a day, `YYYY-MM-DD HH:00` for an hour, in the report's zone. */
43
+ key: Schema.String,
44
+ runs: Schema.Int,
45
+ measured: UsageTotals,
46
+ estimated: UsageTotals
47
+ }) {
48
+ }
49
+ export class ModelUsage extends Schema.Class("ModelUsage")({
50
+ model: Schema.String,
51
+ estimated: Schema.Boolean,
52
+ totals: UsageTotals
53
+ }) {
54
+ }
55
+ export class UsageAverages extends Schema.Class("UsageAverages")({
56
+ activeDays: Schema.Int,
57
+ calendarDays: Schema.Int,
58
+ activeHours: Schema.Int,
59
+ tokensPerActiveDay: Schema.Int,
60
+ tokensPerCalendarDay: Schema.Int,
61
+ tokensPerActiveHour: Schema.Int,
62
+ tokensPerRun: Schema.Int,
63
+ costUsdPerActiveDay: Schema.optionalKey(Schema.Number),
64
+ costUsdPerCalendarDay: Schema.optionalKey(Schema.Number),
65
+ costUsdPerActiveHour: Schema.optionalKey(Schema.Number),
66
+ costUsdPerRun: Schema.optionalKey(Schema.Number),
67
+ peakDay: Schema.optionalKey(Schema.String),
68
+ peakHour: Schema.optionalKey(Schema.String)
69
+ }) {
70
+ }
71
+ export class UsageProjection extends Schema.Class("UsageProjection")({
72
+ runsPerDay: Schema.Number,
73
+ tokensPerDay: Schema.Int,
74
+ costUsdPerDay: Schema.optionalKey(Schema.Number)
75
+ }) {
76
+ }
77
+ export class CostReport extends Schema.Class("CostReport")({
78
+ schemaVersion: Schema.Int,
79
+ timeZone: Schema.String,
80
+ pricesAsOf: Schema.String,
81
+ from: Schema.optionalKey(Schema.String),
82
+ to: Schema.optionalKey(Schema.String),
83
+ runs: Schema.Int,
84
+ requests: Schema.Int,
85
+ measured: UsageTotals,
86
+ estimated: UsageTotals,
87
+ averages: UsageAverages,
88
+ projection: Schema.optionalKey(UsageProjection),
89
+ byDay: Schema.Array(UsageBucket),
90
+ byHour: Schema.Array(UsageBucket),
91
+ byModel: Schema.Array(ModelUsage)
92
+ }) {
93
+ }
94
+ export const CurrentCostReportSchema = 1;
95
+ const tokensUsedCodec = Schema.fromJsonString(TokensUsed);
96
+ const decodeTokensUsed = Schema.decodeUnknownOption(tokensUsedCodec);
97
+ // Backend-reported cost is authoritative; the pricing table only fills in
98
+ // when the backend said nothing (the same rule as `CostTracker`).
99
+ const costOf = (model, usage) => usage.costUsd ?? (model === UnknownModel ? undefined : estimateCostUsd(model, usage));
100
+ /** The token reports of one trace, in trace order; malformed lines are skipped. */
101
+ export const usageSamplesFromTrace = (lines) => lines.flatMap((line) => {
102
+ if (line.kind !== "TokensUsed") {
103
+ return [];
104
+ }
105
+ const raw = line.fields.event;
106
+ if (typeof raw !== "string") {
107
+ return [];
108
+ }
109
+ const decoded = decodeTokensUsed(raw);
110
+ if (Option.isNone(decoded)) {
111
+ return [];
112
+ }
113
+ const event = decoded.value;
114
+ const model = event.model ?? UnknownModel;
115
+ const costUsd = costOf(model, event.usage);
116
+ return [
117
+ UsageSample.make({
118
+ at: line.timestamp,
119
+ runId: line.runId,
120
+ agent: event.agent,
121
+ model,
122
+ prompt: event.usage.prompt,
123
+ completion: event.usage.completion,
124
+ total: event.usage.total,
125
+ ...(event.usage.cached === undefined ? {} : { cached: event.usage.cached }),
126
+ ...(costUsd === undefined ? {} : { costUsd }),
127
+ estimated: isEstimatedModel(model)
128
+ })
129
+ ];
130
+ });
131
+ const sumOptional = (values) => {
132
+ const present = values.flatMap((value) => (value === undefined ? [] : [value]));
133
+ return present.length === 0 ? undefined : present.reduce((sum, value) => sum + value, 0);
134
+ };
135
+ const totalsOf = (samples) => {
136
+ const cached = sumOptional(samples.map((sample) => sample.cached));
137
+ const costUsd = sumOptional(samples.map((sample) => sample.costUsd));
138
+ return UsageTotals.make({
139
+ requests: samples.length,
140
+ prompt: samples.reduce((sum, sample) => sum + sample.prompt, 0),
141
+ completion: samples.reduce((sum, sample) => sum + sample.completion, 0),
142
+ total: samples.reduce((sum, sample) => sum + sample.total, 0),
143
+ ...(cached === undefined ? {} : { cached }),
144
+ ...(costUsd === undefined ? {} : { costUsd })
145
+ });
146
+ };
147
+ const distinctRuns = (samples) => new Set(samples.map((sample) => sample.runId)).size;
148
+ const pad = (value) => value.toString().padStart(2, "0");
149
+ const partsIn = (timeZone, at) => {
150
+ const parts = DateTime.toParts(DateTime.makeZonedUnsafe(at, { timeZone }));
151
+ return { year: parts.year, month: parts.month, day: parts.day, hour: parts.hour };
152
+ };
153
+ const dayKey = (parts) => `${parts.year}-${pad(parts.month)}-${pad(parts.day)}`;
154
+ const hourKey = (parts) => `${dayKey(parts)} ${pad(parts.hour)}:00`;
155
+ const zoneLabel = (timeZone) => timeZone._tag === "Named"
156
+ ? timeZone.id
157
+ : timeZone.offset === 0
158
+ ? "UTC"
159
+ : DateTime.zoneToString(timeZone);
160
+ const bucketsBy = (samples, keyOf) => {
161
+ const groups = new Map();
162
+ for (const sample of samples) {
163
+ const key = keyOf(sample);
164
+ groups.set(key, [...(groups.get(key) ?? []), sample]);
165
+ }
166
+ return [...groups.entries()]
167
+ .sort(([left], [right]) => left.localeCompare(right))
168
+ .map(([key, members]) => UsageBucket.make({
169
+ key,
170
+ runs: distinctRuns(members),
171
+ measured: totalsOf(members.filter((sample) => !sample.estimated)),
172
+ estimated: totalsOf(members.filter((sample) => sample.estimated))
173
+ }));
174
+ };
175
+ const bucketTokens = (bucket) => bucket.measured.total + bucket.estimated.total;
176
+ const bucketCost = (bucket) => sumOptional([bucket.measured.costUsd, bucket.estimated.costUsd]);
177
+ /** The first bucket carrying the most tokens, in chronological order. */
178
+ const peakOf = (buckets) => buckets.reduce((best, bucket) => best === undefined || bucketTokens(bucket) > bucketTokens(best) ? bucket : best, undefined);
179
+ const calendarDaysBetween = (first, last) => Math.round((Date.UTC(last.year, last.month - 1, last.day) -
180
+ Date.UTC(first.year, first.month - 1, first.day)) /
181
+ 86_400_000) + 1;
182
+ const ratio = (value, count) => (count === 0 ? 0 : value / count);
183
+ const costRatio = (cost, count) => cost === undefined || count === 0 ? undefined : cost / count;
184
+ export const buildCostReport = (samples, options = {}) => {
185
+ const timeZone = options.timeZone ?? DateTime.zoneMakeOffset(0);
186
+ const ordered = [...samples].sort((left, right) => left.at - right.at);
187
+ const byDay = bucketsBy(ordered, (sample) => dayKey(partsIn(timeZone, sample.at)));
188
+ const byHour = bucketsBy(ordered, (sample) => hourKey(partsIn(timeZone, sample.at)));
189
+ const measured = totalsOf(ordered.filter((sample) => !sample.estimated));
190
+ const estimated = totalsOf(ordered.filter((sample) => sample.estimated));
191
+ const tokens = measured.total + estimated.total;
192
+ const cost = sumOptional([measured.costUsd, estimated.costUsd]);
193
+ const runs = distinctRuns(ordered);
194
+ const first = ordered[0];
195
+ const last = ordered[ordered.length - 1];
196
+ const calendarDays = first === undefined || last === undefined
197
+ ? 0
198
+ : calendarDaysBetween(partsIn(timeZone, first.at), partsIn(timeZone, last.at));
199
+ const tokensPerRun = ratio(tokens, runs);
200
+ const costUsdPerRun = costRatio(cost, runs);
201
+ const costUsdPerActiveDay = costRatio(cost, byDay.length);
202
+ const costUsdPerCalendarDay = costRatio(cost, calendarDays);
203
+ const costUsdPerActiveHour = costRatio(cost, byHour.length);
204
+ const peakDay = peakOf(byDay);
205
+ const peakHour = peakOf(byHour);
206
+ const projection = options.runsPerDay === undefined
207
+ ? undefined
208
+ : UsageProjection.make({
209
+ runsPerDay: options.runsPerDay,
210
+ tokensPerDay: Math.round(tokensPerRun * options.runsPerDay),
211
+ ...(costUsdPerRun === undefined
212
+ ? {}
213
+ : { costUsdPerDay: costUsdPerRun * options.runsPerDay })
214
+ });
215
+ const byModelGroups = new Map();
216
+ for (const sample of ordered) {
217
+ byModelGroups.set(sample.model, [...(byModelGroups.get(sample.model) ?? []), sample]);
218
+ }
219
+ const byModel = [...byModelGroups.entries()]
220
+ .map(([model, members]) => ModelUsage.make({ model, estimated: isEstimatedModel(model), totals: totalsOf(members) }))
221
+ .sort((left, right) => left.estimated === right.estimated
222
+ ? left.model.localeCompare(right.model)
223
+ : left.estimated
224
+ ? 1
225
+ : -1);
226
+ return CostReport.make({
227
+ schemaVersion: CurrentCostReportSchema,
228
+ timeZone: zoneLabel(timeZone),
229
+ pricesAsOf: PricesAsOf,
230
+ ...(first === undefined ? {} : { from: new Date(first.at).toISOString() }),
231
+ ...(last === undefined ? {} : { to: new Date(last.at).toISOString() }),
232
+ runs,
233
+ requests: ordered.length,
234
+ measured,
235
+ estimated,
236
+ averages: UsageAverages.make({
237
+ activeDays: byDay.length,
238
+ calendarDays,
239
+ activeHours: byHour.length,
240
+ tokensPerActiveDay: Math.round(ratio(tokens, byDay.length)),
241
+ tokensPerCalendarDay: Math.round(ratio(tokens, calendarDays)),
242
+ tokensPerActiveHour: Math.round(ratio(tokens, byHour.length)),
243
+ tokensPerRun: Math.round(tokensPerRun),
244
+ ...(costUsdPerActiveDay === undefined ? {} : { costUsdPerActiveDay }),
245
+ ...(costUsdPerCalendarDay === undefined ? {} : { costUsdPerCalendarDay }),
246
+ ...(costUsdPerActiveHour === undefined ? {} : { costUsdPerActiveHour }),
247
+ ...(costUsdPerRun === undefined ? {} : { costUsdPerRun }),
248
+ ...(peakDay === undefined ? {} : { peakDay: peakDay.key }),
249
+ ...(peakHour === undefined ? {} : { peakHour: peakHour.key })
250
+ }),
251
+ ...(projection === undefined ? {} : { projection }),
252
+ byDay,
253
+ byHour,
254
+ byModel
255
+ });
256
+ };
257
+ const thousands = (value) => Math.round(value)
258
+ .toString()
259
+ .replace(/\B(?=(\d{3})+(?!\d))/gu, ",");
260
+ const money = (cost) => cost === undefined ? "" : ` ($${cost.toFixed(4)})`;
261
+ const totalsLine = (label, totals) => {
262
+ const cached = totals.cached === undefined || totals.cached <= 0 ? "" : ` (${thousands(totals.cached)} cached)`;
263
+ return `${label}: ${thousands(totals.prompt)} in${cached}, ${thousands(totals.completion)} out, ${thousands(totals.total)} total${money(totals.costUsd)}`;
264
+ };
265
+ const runsLabel = (runs) => `${runs} run${runs === 1 ? "" : "s"}`;
266
+ const bucketLine = (bucket) => ` ${bucket.key} ${runsLabel(bucket.runs)} ${thousands(bucket.measured.total)} measured ${thousands(bucket.estimated.total)} estimated${money(bucketCost(bucket))}`;
267
+ export const renderCostReport = (report) => {
268
+ if (report.from === undefined || report.to === undefined) {
269
+ return "llm4ts costs\n\nno usage recorded — run a flow whose backend reports token counts, then try again";
270
+ }
271
+ const averages = report.averages;
272
+ const peakDay = peakOf(report.byDay);
273
+ const peakHour = peakOf(report.byHour);
274
+ const peaks = [
275
+ ...(peakDay === undefined
276
+ ? []
277
+ : [`peak day ${peakDay.key} (${thousands(bucketTokens(peakDay))})`]),
278
+ ...(peakHour === undefined
279
+ ? []
280
+ : [`peak hour ${peakHour.key} (${thousands(bucketTokens(peakHour))})`])
281
+ ];
282
+ const sections = [
283
+ "llm4ts costs",
284
+ `window: ${report.from} → ${report.to} (${report.timeZone})`,
285
+ `runs: ${report.runs} · requests: ${report.requests}`,
286
+ totalsLine("measured", report.measured),
287
+ totalsLine("estimated", report.estimated),
288
+ "",
289
+ "averages (measured + estimated):",
290
+ ` per active day: ${thousands(averages.tokensPerActiveDay)} tokens${money(averages.costUsdPerActiveDay)} over ${averages.activeDays} day${averages.activeDays === 1 ? "" : "s"}`,
291
+ ` per calendar day: ${thousands(averages.tokensPerCalendarDay)} tokens${money(averages.costUsdPerCalendarDay)} over ${averages.calendarDays} day${averages.calendarDays === 1 ? "" : "s"}`,
292
+ ` per active hour: ${thousands(averages.tokensPerActiveHour)} tokens${money(averages.costUsdPerActiveHour)} over ${averages.activeHours} hour${averages.activeHours === 1 ? "" : "s"}`,
293
+ ` per run: ${thousands(averages.tokensPerRun)} tokens${money(averages.costUsdPerRun)}`,
294
+ ...(peaks.length === 0 ? [] : [` ${peaks.join(", ")}`])
295
+ ];
296
+ if (report.projection !== undefined) {
297
+ sections.push("projection:", ` at ${report.projection.runsPerDay} runs/day: ${thousands(report.projection.tokensPerDay)} tokens${money(report.projection.costUsdPerDay)} per day`);
298
+ }
299
+ sections.push("", "by day:", ...report.byDay.map(bucketLine));
300
+ sections.push("", "by hour:", ...report.byHour.map(bucketLine));
301
+ sections.push("", "by model:", ...report.byModel.map((entry) => ` ${entry.model} ${thousands(entry.totals.total)} tokens${money(entry.totals.costUsd)}`));
302
+ const notes = [
303
+ `costs are backend-reported where available, otherwise estimated from the pricing table (rates as of ${report.pricesAsOf} — may be stale)`,
304
+ ...(report.estimated.requests === 0
305
+ ? []
306
+ : [
307
+ "estimated:<model> rows come from character counts (LLM4TS_ESTIMATE_MODEL), not backend token counts"
308
+ ])
309
+ ];
310
+ sections.push("", ...notes.map((note) => `* ${note}`));
311
+ return sections.join("\n");
312
+ };
313
+ //# sourceMappingURL=CostReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostReport.js","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EstimatedUsage.d.ts","sourceRoot":"","sources":["../src/EstimatedUsage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAY,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAYxE,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,eAAO,MAAM,4BAA4B,GACvC,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KACxD,qBAMF,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,MAAM,KAAG,MAAuC,CAAA;AAEpG,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,OACN,CAAA;AAKvD,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,SAAS,qBAAqB,KAC7B,UAOF,CAAA;AAqBD,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;CACvD;AA8CD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gHA8ClC,CAAA"}
1
+ {"version":3,"file":"EstimatedUsage.d.ts","sourceRoot":"","sources":["../src/EstimatedUsage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAY,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAYxE,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,eAAO,MAAM,4BAA4B,GACvC,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KACxD,qBAMF,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,MAAM,KAAG,MAAuC,CAAA;AAEpG,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,OACN,CAAA;AAKvD,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,SAAS,qBAAqB,KAC7B,UAOF,CAAA;AAqBD,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;CACvD;AA8CD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gHA6DlC,CAAA"}
@@ -84,6 +84,10 @@ export const makeEstimatedUsageMeter = Effect.fn("@llm4ts/flow/EstimatedUsage.ma
84
84
  const estimated = estimateUsage(prompt.length, (JSON.stringify(value) ?? "").length, options);
85
85
  return record(estimated).pipe(Effect.as([value, estimated, estimatedModelLabel(options.referenceModel)]));
86
86
  })),
87
+ scoreLabels: (prompt, labels) => service
88
+ .scoreLabels(prompt, labels)
89
+ .pipe(Effect.tap((distribution) => record(distribution.usage ??
90
+ estimateUsage(prompt.length, JSON.stringify(distribution.probabilities).length, options)))),
87
91
  isAvailable: service.isAvailable
88
92
  };
89
93
  return { service: decorated, totals: Ref.get(totals) };
@@ -1 +1 @@
1
- {"version":3,"file":"EstimatedUsage.js","sourceRoot":"","sources":["../src/EstimatedUsage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EstimatedUsage.js","sourceRoot":"","sources":["../src/EstimatedUsage.ts"],"names":[],"mappings":"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"}
package/dist/Flow.d.ts CHANGED
@@ -5,6 +5,7 @@ import { FlowAborted, FlowLlmError, type FlowError } from "./FlowError.ts";
5
5
  import { type FlowEventsShape } from "./FlowEvents.ts";
6
6
  import type { Plan, Task } from "./Plan.ts";
7
7
  import type { PlanStoreShape } from "./Persistence.ts";
8
+ import { type JudgmentMode } from "./Judgment.ts";
8
9
  import { type ReviewResult } from "./Review.ts";
9
10
  import type { Reviewer } from "./Reviewer.ts";
10
11
  export { publishUsage, structuredAndPublish } from "./Usage.ts";
@@ -37,6 +38,19 @@ export interface ImplementPlanOptions {
37
38
  * where one unconfirmed no-op should not sink otherwise-finished work.
38
39
  */
39
40
  readonly noopTaskPolicy?: "fail" | "complete";
41
+ /**
42
+ * How the "already satisfied" confirmation is read (ADR 0017): "literal"
43
+ * (default) looks for TASK_ALREADY_SATISFIED without any judgment call.
44
+ * { mode } asks the run's judgment service, defaulting to observe: observe
45
+ * and advise publish the literal outcome and keep using it. Explicit act
46
+ * uses a confident judgment, falling back to the literal reading on doubt
47
+ * or failure. The legacy "judgment" string remains an alias for { mode: "act" }.
48
+ */
49
+ readonly satisfiedProbe?: "literal" | "judgment" | {
50
+ readonly mode?: JudgmentMode;
51
+ };
40
52
  }
53
+ /** The judgment form of the empty-diff probe: one Truth question over the coder's reply. */
54
+ export declare const satisfiedByJudgment: (context: FlowContextShape, taskTitle: string, reply: string, mode?: "observe" | "advise" | "act" | undefined) => Effect.Effect<boolean | undefined, never, never>;
41
55
  export declare const implementPlanFlow: (context: FlowContextShape, options: ImplementPlanOptions) => Effect.Effect<Plan, 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 | 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").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ContractConflict, never>;
42
56
  //# sourceMappingURL=Flow.d.ts.map
@@ -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,EAAsC,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnF,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;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC9C;AAOD,eAAO,MAAM,iBAAiB,i5BA4G5B,CAAA"}
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,EAAsC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnF,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;;;;;;;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,i5BAqH5B,CAAA"}