@llm4ts/flow 2.28.1 → 2.30.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/CarriedNotes.d.ts +25 -0
- package/dist/CarriedNotes.d.ts.map +1 -0
- package/dist/CarriedNotes.js +76 -0
- package/dist/CarriedNotes.js.map +1 -0
- package/dist/Flow.d.ts +8 -0
- package/dist/Flow.d.ts.map +1 -1
- package/dist/Flow.js +13 -1
- package/dist/Flow.js.map +1 -1
- package/dist/Orientation.d.ts +25 -0
- package/dist/Orientation.d.ts.map +1 -0
- package/dist/Orientation.js +150 -0
- package/dist/Orientation.js.map +1 -0
- package/dist/PlanExecution.d.ts +7 -1
- package/dist/PlanExecution.d.ts.map +1 -1
- package/dist/PlanExecution.js +8 -2
- package/dist/PlanExecution.js.map +1 -1
- package/dist/RefineRound.d.ts.map +1 -1
- package/dist/RefineRound.js +13 -1
- package/dist/RefineRound.js.map +1 -1
- package/dist/Retro.d.ts.map +1 -1
- package/dist/Retro.js +16 -3
- package/dist/Retro.js.map +1 -1
- package/dist/Review.d.ts.map +1 -1
- package/dist/Review.js +5 -3
- package/dist/Review.js.map +1 -1
- package/dist/Spans.d.ts +63 -0
- package/dist/Spans.d.ts.map +1 -0
- package/dist/Spans.js +104 -0
- package/dist/Spans.js.map +1 -0
- package/dist/Stories.d.ts +5 -4
- package/dist/Stories.d.ts.map +1 -1
- package/dist/Stories.js +107 -34
- package/dist/Stories.js.map +1 -1
- package/dist/StoryPlan.d.ts +33 -1
- package/dist/StoryPlan.d.ts.map +1 -1
- package/dist/StoryPlan.js +62 -4
- package/dist/StoryPlan.js.map +1 -1
- package/dist/Timing.d.ts +21 -1
- package/dist/Timing.d.ts.map +1 -1
- package/dist/Timing.js +218 -18
- package/dist/Timing.js.map +1 -1
- package/dist/Transcript.d.ts.map +1 -1
- package/dist/Transcript.js +3 -2
- package/dist/Transcript.js.map +1 -1
- package/package.json +5 -2
- package/src/CarriedNotes.ts +103 -0
- package/src/Flow.ts +31 -1
- package/src/Orientation.ts +192 -0
- package/src/PlanExecution.ts +21 -10
- package/src/RefineRound.ts +13 -1
- package/src/Retro.ts +26 -3
- package/src/Review.ts +18 -12
- package/src/Spans.ts +150 -0
- package/src/Stories.ts +140 -45
- package/src/StoryPlan.ts +78 -2
- package/src/Timing.ts +343 -16
- package/src/Transcript.ts +3 -2
package/dist/StoryPlan.js
CHANGED
|
@@ -18,7 +18,15 @@ export class Story extends Schema.Class("Story")({
|
|
|
18
18
|
/** Path prefixes fed as context and forbidden to change. */
|
|
19
19
|
sharedReadOnly: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed([])), Schema.withDecodingDefaultKey(Effect.succeed([]))),
|
|
20
20
|
/** What dependents may rely on: routes, exports, contracts. */
|
|
21
|
-
provides: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed([])), Schema.withDecodingDefaultKey(Effect.succeed([])))
|
|
21
|
+
provides: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed([])), Schema.withDecodingDefaultKey(Effect.succeed([]))),
|
|
22
|
+
/**
|
|
23
|
+
* Paths the planner says to read before touching anything: the exemplar
|
|
24
|
+
* feature to imitate, the contract this story extends, the kit component to
|
|
25
|
+
* reuse. Pruned to paths that exist; their contents open the starting code.
|
|
26
|
+
*/
|
|
27
|
+
readFirst: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed([])), Schema.withDecodingDefaultKey(Effect.succeed([]))),
|
|
28
|
+
/** Observable outcomes that make the story done; the coder plans against them, the judge scores against them. */
|
|
29
|
+
acceptance: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed([])), Schema.withDecodingDefaultKey(Effect.succeed([])))
|
|
22
30
|
}) {
|
|
23
31
|
}
|
|
24
32
|
export class StoryPlan extends Schema.Class("StoryPlan")({
|
|
@@ -98,6 +106,41 @@ export const storyPlanViolations = (plan) => {
|
|
|
98
106
|
}
|
|
99
107
|
return violations;
|
|
100
108
|
};
|
|
109
|
+
/**
|
|
110
|
+
* An anchor the repository can answer: relative, inside the checkout, and
|
|
111
|
+
* narrower than the whole tree. `../x`, `/abs/x`, `.`, `` and `a/../b` are
|
|
112
|
+
* not — `git ls-files` is fatal on the first two, and the last ones would
|
|
113
|
+
* name every file.
|
|
114
|
+
*/
|
|
115
|
+
export const isSafeAnchor = (anchor) => {
|
|
116
|
+
const path = normalizePath(anchor);
|
|
117
|
+
return (path.length > 0 &&
|
|
118
|
+
!path.startsWith("/") &&
|
|
119
|
+
!/^[A-Za-z]:/u.test(path) &&
|
|
120
|
+
path !== "." &&
|
|
121
|
+
!path.split("/").includes(".."));
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* The plan with every `readFirst` anchor that no tracked file lies under
|
|
125
|
+
* removed — unsafe anchors (`isSafeAnchor`) first, without a lookup — and
|
|
126
|
+
* the list of what was dropped. A planner names paths from a layout digest
|
|
127
|
+
* and sometimes guesses; a guess must not reach a coder as something to read.
|
|
128
|
+
*/
|
|
129
|
+
export const pruneReadFirst = (plan, known) => {
|
|
130
|
+
const files = [...known].map(normalizePath);
|
|
131
|
+
const dropped = [];
|
|
132
|
+
const stories = plan.stories.map((story) => {
|
|
133
|
+
const kept = story.readFirst.filter((anchor) => {
|
|
134
|
+
const exists = isSafeAnchor(anchor) && files.some((file) => pathWithin(file, anchor));
|
|
135
|
+
if (!exists) {
|
|
136
|
+
dropped.push({ story: story.id, path: anchor });
|
|
137
|
+
}
|
|
138
|
+
return exists;
|
|
139
|
+
});
|
|
140
|
+
return kept.length === story.readFirst.length ? story : new Story({ ...story, readFirst: kept });
|
|
141
|
+
});
|
|
142
|
+
return { plan: dropped.length === 0 ? plan : new StoryPlan({ ...plan, stories }), dropped };
|
|
143
|
+
};
|
|
101
144
|
const cycles = (plan) => {
|
|
102
145
|
const found = [];
|
|
103
146
|
const state = new Map();
|
|
@@ -231,7 +274,11 @@ export const pathsNamedIn = (plan, text) => {
|
|
|
231
274
|
}
|
|
232
275
|
return [...new Set(found)];
|
|
233
276
|
};
|
|
234
|
-
/**
|
|
277
|
+
/**
|
|
278
|
+
* Stable over the story entry's content — a changed entry means a fresh
|
|
279
|
+
* branch. The 2.29 fields enter only when set, so a plan written earlier
|
|
280
|
+
* keeps every hash and an upgrade restarts no story.
|
|
281
|
+
*/
|
|
235
282
|
export const storyHash = (story) => stableHash(JSON.stringify({
|
|
236
283
|
id: story.id,
|
|
237
284
|
title: story.title,
|
|
@@ -239,7 +286,11 @@ export const storyHash = (story) => stableHash(JSON.stringify({
|
|
|
239
286
|
dependsOn: [...story.dependsOn],
|
|
240
287
|
owned: [...story.owned].map(normalizePath),
|
|
241
288
|
sharedReadOnly: [...story.sharedReadOnly].map(normalizePath),
|
|
242
|
-
provides: [...story.provides]
|
|
289
|
+
provides: [...story.provides],
|
|
290
|
+
...(story.readFirst.length === 0
|
|
291
|
+
? {}
|
|
292
|
+
: { readFirst: [...story.readFirst].map(normalizePath) }),
|
|
293
|
+
...(story.acceptance.length === 0 ? {} : { acceptance: [...story.acceptance] })
|
|
243
294
|
}));
|
|
244
295
|
export const storyPlanFenceInfo = "json storyplan";
|
|
245
296
|
const fencePattern = /```json[ \t]+storyplan[ \t]*\r?\n([\s\S]*?)\r?\n[ \t]*```/;
|
|
@@ -281,7 +332,14 @@ export const renderStoryPlan = Effect.fn("@llm4ts/flow/StoryPlan.render")(functi
|
|
|
281
332
|
""
|
|
282
333
|
];
|
|
283
334
|
for (const story of plan.stories) {
|
|
284
|
-
lines.push(`### ${story.id} — ${story.title}`, "", story.description.trim(), "",
|
|
335
|
+
lines.push(`### ${story.id} — ${story.title}`, "", story.description.trim(), "", ...(story.acceptance.length === 0
|
|
336
|
+
? []
|
|
337
|
+
: [
|
|
338
|
+
"Done when:",
|
|
339
|
+
"",
|
|
340
|
+
...story.acceptance.map((criterion, index) => `${index + 1}. ${criterion}`),
|
|
341
|
+
""
|
|
342
|
+
]), `- depends on: ${list(story.dependsOn)}`, `- owned: ${list(story.owned)}`, `- shared read-only: ${list(story.sharedReadOnly)}`, `- read first: ${list(story.readFirst)}`, `- provides: ${list(story.provides)}`, "");
|
|
285
343
|
}
|
|
286
344
|
lines.push("## Plan block", "", "Edit this block to change the plan; the prose above is regenerated from it.", "", "```" + storyPlanFenceInfo, JSON.stringify(encoded, null, 2), "```", "");
|
|
287
345
|
return lines.join("\n");
|
package/dist/StoryPlan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoryPlan.js","sourceRoot":"","sources":["../src/StoryPlan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StoryPlan.js","sourceRoot":"","sources":["../src/StoryPlan.ts"],"names":[],"mappings":"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"}
|
package/dist/Timing.d.ts
CHANGED
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import type { JudgmentShape } from "@llm4ts/core/judgment/Judgment";
|
|
3
3
|
import type { LlmServiceShape } from "@llm4ts/core/LlmService";
|
|
4
|
+
import { type EstimatedUsageOptions } from "./EstimatedUsage.ts";
|
|
4
5
|
import { Timed, type FlowEventsShape } from "./FlowEvents.ts";
|
|
6
|
+
import { type OtelContent } from "./Spans.ts";
|
|
7
|
+
/**
|
|
8
|
+
* Where a run's time goes. `timedSeat` decorates a seat so every
|
|
9
|
+
* call publishes a `Timed{kind:"model"}` when it ends — its wall time, when
|
|
10
|
+
* its first output came, and the API and tool time the backend reported, if
|
|
11
|
+
* it did. The events carry the seat's role, never the prompt or the reply.
|
|
12
|
+
*
|
|
13
|
+
* The same decorator makes every call an LLM span (ADR 0026) with the GenAI
|
|
14
|
+
* usage attributes, each harness tool call a TOOL child of it, and the four
|
|
15
|
+
* counters below; content joins the spans only when `content` says so.
|
|
16
|
+
*/
|
|
17
|
+
export interface TimedSeatOptions {
|
|
18
|
+
/** Who serves the seat, read at each call (a roster hands the coder over). */
|
|
19
|
+
readonly executor?: Effect.Effect<string | undefined>;
|
|
20
|
+
/** What content the spans may carry (ADR 0026); off by default. */
|
|
21
|
+
readonly content?: OtelContent;
|
|
22
|
+
/** When set, a call the backend reports no usage for gets an estimate on its span, flagged. */
|
|
23
|
+
readonly estimate?: EstimatedUsageOptions;
|
|
24
|
+
}
|
|
5
25
|
/** The role the current call is made for: the caller's, or else `label`. */
|
|
6
26
|
export declare const roleOr: (label: string) => Effect.Effect<string>;
|
|
7
27
|
/** Times the seat calls `effect` makes under `role` instead of the seat's own label. */
|
|
8
28
|
export declare const withTimedRole: <A, E, R>(role: string, effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, never>>;
|
|
9
29
|
/** Times `effect`, publishing what `timed` makes of its duration whether it succeeds or fails. */
|
|
10
30
|
export declare const timeEffect: <A, E, R>(events: FlowEventsShape, effect: Effect.Effect<A, E, R>, timed: (ms: number, failed: boolean, role: string | undefined) => Timed) => Effect.Effect<A, E, R>;
|
|
11
|
-
export declare const timedSeat: (service: LlmServiceShape, events: FlowEventsShape, label: string) => LlmServiceShape;
|
|
31
|
+
export declare const timedSeat: (service: LlmServiceShape, events: FlowEventsShape, label: string, options?: TimedSeatOptions) => LlmServiceShape;
|
|
12
32
|
/** Typed judgments (ADR 0017) timed as `judgment` calls, under the caller's role if it named one. */
|
|
13
33
|
export declare const timedJudgment: (judgment: JudgmentShape, events: FlowEventsShape) => JudgmentShape;
|
|
14
34
|
//# sourceMappingURL=Timing.d.ts.map
|
package/dist/Timing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timing.d.ts","sourceRoot":"","sources":["../src/Timing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Timing.d.ts","sourceRoot":"","sources":["../src/Timing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACpG,OAAO,EAAE,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrD,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CAC1C;AAgID,4EAA4E;AAC5E,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACX,CAAA;AAEhD,wFAAwF;AACxF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2CACnC,CAAA;AAQhD,kGAAkG;AAClG,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,QAAQ,eAAe,EACvB,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,KAAK,KACtE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAOrB,CAAA;AAqNH,eAAO,MAAM,SAAS,GACpB,SAAS,eAAe,EACxB,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,UAAS,gBAAqB,KAC7B,eA2CF,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,aAAa,GAAI,UAAU,aAAa,EAAE,QAAQ,eAAe,KAAG,aAW/E,CAAA"}
|
package/dist/Timing.js
CHANGED
|
@@ -2,15 +2,88 @@ import * as Clock from "effect/Clock";
|
|
|
2
2
|
import * as Context from "effect/Context";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Exit from "effect/Exit";
|
|
5
|
+
import * as Metric from "effect/Metric";
|
|
6
|
+
import * as Option from "effect/Option";
|
|
5
7
|
import * as Ref from "effect/Ref";
|
|
6
8
|
import * as Stream from "effect/Stream";
|
|
9
|
+
import { Message } from "@llm4ts/core/Models";
|
|
10
|
+
import { redactText } from "@llm4ts/core/observability/Redaction";
|
|
11
|
+
import { toolCategory } from "./Activity.js";
|
|
12
|
+
import { estimateUsage, estimatedModelLabel } from "./EstimatedUsage.js";
|
|
7
13
|
import { Timed } from "./FlowEvents.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
import { attr, currentKindSpan, kindAttribute, usageAttributes, withKindSpan } from "./Spans.js";
|
|
15
|
+
const tokensCounter = Metric.counter("llm4ts.tokens", {
|
|
16
|
+
description: "tokens by model, role, executor and direction",
|
|
17
|
+
incremental: true
|
|
18
|
+
});
|
|
19
|
+
const costCounter = Metric.counter("llm4ts.cost.usd", {
|
|
20
|
+
description: "cost the backend reported, USD",
|
|
21
|
+
incremental: true
|
|
22
|
+
});
|
|
23
|
+
const callsCounter = Metric.counter("llm4ts.model.calls", {
|
|
24
|
+
description: "model calls by role and executor",
|
|
25
|
+
incremental: true
|
|
26
|
+
});
|
|
27
|
+
const toolCallsCounter = Metric.counter("llm4ts.tool.calls", {
|
|
28
|
+
description: "harness tool calls by kind of work",
|
|
29
|
+
incremental: true
|
|
30
|
+
});
|
|
31
|
+
const inputChars = 64_000;
|
|
32
|
+
const partChars = 4_000;
|
|
33
|
+
const clean = (text, limit) => redactText(text, { maxLength: limit });
|
|
34
|
+
/** The prompt as content attributes, or nothing: the system prompt only under `full`. */
|
|
35
|
+
const promptContent = (content, messages) => {
|
|
36
|
+
if (content === "off") {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
const shown = messages.filter((message) => content === "full" || message.role !== "System");
|
|
40
|
+
return {
|
|
41
|
+
[attr.input]: clean(shown.map((message) => `${message.role}: ${message.content}`).join("\n\n"), inputChars),
|
|
42
|
+
[attr.inputMessages]: JSON.stringify(shown.map((message) => ({
|
|
43
|
+
role: message.role.toLowerCase(),
|
|
44
|
+
content: clean(message.content, inputChars)
|
|
45
|
+
})))
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const replyContent = (content, text) => content === "off"
|
|
49
|
+
? {}
|
|
50
|
+
: {
|
|
51
|
+
[attr.output]: clean(text, inputChars),
|
|
52
|
+
[attr.outputMessages]: JSON.stringify([
|
|
53
|
+
{ role: "assistant", content: clean(text, inputChars) }
|
|
54
|
+
])
|
|
55
|
+
};
|
|
56
|
+
const count = (counter, attributes, by) => by === 0 ? Effect.void : Metric.update(by)(Metric.withAttributes(attributes)(counter));
|
|
57
|
+
/** The usage and the model a call ends with: measured from the chunks, else estimated when asked. */
|
|
58
|
+
const settleUsage = (measured, model, promptChars, completionChars, estimate) => measured !== undefined
|
|
59
|
+
? { usage: measured, model, estimated: false }
|
|
60
|
+
: estimate === undefined
|
|
61
|
+
? { usage: undefined, model, estimated: false }
|
|
62
|
+
: {
|
|
63
|
+
usage: estimateUsage(promptChars, completionChars, estimate),
|
|
64
|
+
model: model ?? estimatedModelLabel(estimate.referenceModel),
|
|
65
|
+
estimated: true
|
|
66
|
+
};
|
|
67
|
+
const recordCall = (role, executor, settled, failed) => {
|
|
68
|
+
const base = {
|
|
69
|
+
role,
|
|
70
|
+
executor: executor ?? "",
|
|
71
|
+
model: settled.model ?? "",
|
|
72
|
+
estimated: String(settled.estimated)
|
|
73
|
+
};
|
|
74
|
+
return Effect.all([
|
|
75
|
+
count(callsCounter, { role, executor: executor ?? "", failed: String(failed) }, 1),
|
|
76
|
+
settled.usage === undefined
|
|
77
|
+
? Effect.void
|
|
78
|
+
: Effect.all([
|
|
79
|
+
count(tokensCounter, { ...base, direction: "input" }, settled.usage.prompt),
|
|
80
|
+
count(tokensCounter, { ...base, direction: "output" }, settled.usage.completion),
|
|
81
|
+
settled.estimated || settled.usage.costUsd === undefined
|
|
82
|
+
? Effect.void
|
|
83
|
+
: count(costCounter, { role, executor: executor ?? "", model: settled.model ?? "" }, settled.usage.costUsd)
|
|
84
|
+
])
|
|
85
|
+
], { discard: true });
|
|
86
|
+
};
|
|
14
87
|
/**
|
|
15
88
|
* The role a call is made for, when it is not the seat's own: one seat
|
|
16
89
|
* serves the reviewer, the story judge and the BLOCKED_ON verifier when no
|
|
@@ -30,12 +103,105 @@ const reportedMs = (chunk, key) => {
|
|
|
30
103
|
};
|
|
31
104
|
/** Times `effect`, publishing what `timed` makes of its duration whether it succeeds or fails. */
|
|
32
105
|
export const timeEffect = (events, effect, timed) => Effect.flatMap(Effect.all([Clock.currentTimeMillis, TimedRole]), ([start, role]) => Effect.onExit(effect, (exit) => Effect.flatMap(Clock.currentTimeMillis, (end) => events.publish(timed(end - start, Exit.isFailure(exit), role)))));
|
|
33
|
-
|
|
106
|
+
/**
|
|
107
|
+
* `timeEffect` under an LLM span named for the role; `usageOf` reads what
|
|
108
|
+
* the result says about tokens and model, when it says anything.
|
|
109
|
+
*/
|
|
110
|
+
const tracedEffect = (events, label, options, effect, timed, usageOf) => Effect.gen(function* () {
|
|
111
|
+
const role = (yield* TimedRole) ?? label;
|
|
112
|
+
const executor = options.executor === undefined ? undefined : yield* options.executor;
|
|
113
|
+
return yield* withKindSpan(role, {
|
|
114
|
+
kind: "LLM",
|
|
115
|
+
attributes: {
|
|
116
|
+
[attr.role]: role,
|
|
117
|
+
[attr.operation]: "generate",
|
|
118
|
+
...(executor === undefined ? {} : { [attr.executor]: executor })
|
|
119
|
+
}
|
|
120
|
+
}, timeEffect(events, effect, timed).pipe(Effect.onExit((exit) => {
|
|
121
|
+
const known = Exit.isSuccess(exit)
|
|
122
|
+
? usageOf(exit.value)
|
|
123
|
+
: { usage: undefined, model: undefined };
|
|
124
|
+
const settled = settleUsage(known.usage, known.model, 0, 0, undefined);
|
|
125
|
+
return Effect.all([
|
|
126
|
+
Effect.annotateCurrentSpan(usageAttributes(settled.model, settled.usage, settled.estimated)),
|
|
127
|
+
recordCall(role, executor, settled, Exit.isFailure(exit))
|
|
128
|
+
], { discard: true });
|
|
129
|
+
})));
|
|
130
|
+
});
|
|
131
|
+
const timedStream = (events, label, options, messages, stream) => Stream.unwrap(Effect.gen(function* () {
|
|
34
132
|
const start = yield* Clock.currentTimeMillis;
|
|
35
|
-
const role = yield* TimedRole;
|
|
133
|
+
const role = (yield* TimedRole) ?? label;
|
|
134
|
+
const executor = options.executor === undefined ? undefined : yield* options.executor;
|
|
135
|
+
const content = options.content ?? "off";
|
|
36
136
|
const first = yield* Ref.make(undefined);
|
|
37
137
|
const reported = yield* Ref.make({});
|
|
38
138
|
const failed = yield* Ref.make(false);
|
|
139
|
+
const usage = yield* Ref.make(undefined);
|
|
140
|
+
const model = yield* Ref.make(undefined);
|
|
141
|
+
const reply = yield* Ref.make("");
|
|
142
|
+
// The call's LLM span (ADR 0026), parented to the nearest kind span and
|
|
143
|
+
// ended when the stream does; each harness tool call is a TOOL child,
|
|
144
|
+
// opened on `tool_use` and closed on `tool_result`.
|
|
145
|
+
const parent = yield* currentKindSpan;
|
|
146
|
+
const span = yield* Effect.makeSpan(role, {
|
|
147
|
+
kind: "client",
|
|
148
|
+
sampled: true,
|
|
149
|
+
...(Option.isSome(parent) ? { parent: parent.value } : {}),
|
|
150
|
+
attributes: {
|
|
151
|
+
[kindAttribute]: "LLM",
|
|
152
|
+
[attr.role]: role,
|
|
153
|
+
[attr.operation]: "chat",
|
|
154
|
+
...(executor === undefined ? {} : { [attr.executor]: executor }),
|
|
155
|
+
...promptContent(content, messages)
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
const openTools = yield* Ref.make([]);
|
|
159
|
+
const toolStarted = (chunk) => Effect.gen(function* () {
|
|
160
|
+
const tool = (chunk.metadata.tool_name ?? chunk.metadata.toolName ?? "").trim();
|
|
161
|
+
if (tool.length === 0) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const args = chunk.metadata.tool_input ?? chunk.metadata.toolInput ?? "";
|
|
165
|
+
const category = toolCategory(tool, args);
|
|
166
|
+
// `Effect.makeSpan`, not the tracer directly: the scope's annotations
|
|
167
|
+
// (story, epic, session) land on it like on every other span.
|
|
168
|
+
const child = yield* Effect.makeSpan(tool, {
|
|
169
|
+
parent: span,
|
|
170
|
+
kind: "internal",
|
|
171
|
+
sampled: true,
|
|
172
|
+
attributes: {
|
|
173
|
+
[kindAttribute]: "TOOL",
|
|
174
|
+
[attr.toolCategory]: category,
|
|
175
|
+
"tool.name": tool,
|
|
176
|
+
...(content === "off" ? {} : { [attr.input]: clean(args, partChars) })
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
const id = chunk.metadata.tool_id ?? chunk.metadata.toolId;
|
|
180
|
+
yield* Ref.update(openTools, (open) => [
|
|
181
|
+
...open,
|
|
182
|
+
{ id: id === undefined || id.length === 0 ? undefined : id, span: child }
|
|
183
|
+
]);
|
|
184
|
+
yield* count(toolCallsCounter, { category }, 1);
|
|
185
|
+
});
|
|
186
|
+
const toolEnded = (chunk) => Effect.gen(function* () {
|
|
187
|
+
const id = chunk.metadata.tool_id ?? chunk.metadata.toolId;
|
|
188
|
+
const found = yield* Ref.modify(openTools, (open) => {
|
|
189
|
+
const index = id === undefined || id.length === 0 ? 0 : open.findIndex((entry) => entry.id === id);
|
|
190
|
+
const entry = index < 0 ? undefined : open[index];
|
|
191
|
+
return [
|
|
192
|
+
entry,
|
|
193
|
+
entry === undefined ? open : [...open.slice(0, index), ...open.slice(index + 1)]
|
|
194
|
+
];
|
|
195
|
+
});
|
|
196
|
+
if (found === undefined) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const toolFailed = chunk.metadata.tool_failed === "true" || chunk.metadata.tool_status === "error";
|
|
200
|
+
if (content !== "off") {
|
|
201
|
+
found.span.attribute(attr.output, clean(chunk.metadata.tool_content ?? "", partChars));
|
|
202
|
+
}
|
|
203
|
+
found.span.end(yield* Clock.currentTimeNanos, toolFailed ? Exit.fail("tool failed") : Exit.void);
|
|
204
|
+
});
|
|
39
205
|
return stream.pipe(Stream.tap((chunk) => Effect.gen(function* () {
|
|
40
206
|
const now = yield* Clock.currentTimeMillis;
|
|
41
207
|
yield* Ref.update(first, (at) => at ?? now - start);
|
|
@@ -48,33 +214,67 @@ const timedStream = (events, label, stream) => Stream.unwrap(Effect.gen(function
|
|
|
48
214
|
...(toolMs === undefined ? {} : { toolMs })
|
|
49
215
|
}));
|
|
50
216
|
}
|
|
217
|
+
if (chunk.usage !== undefined) {
|
|
218
|
+
yield* Ref.set(usage, chunk.usage);
|
|
219
|
+
}
|
|
220
|
+
if (chunk.metadata.model !== undefined) {
|
|
221
|
+
yield* Ref.set(model, chunk.metadata.model);
|
|
222
|
+
}
|
|
223
|
+
if (chunk.delta.length > 0) {
|
|
224
|
+
yield* Ref.update(reply, (text) => text + chunk.delta);
|
|
225
|
+
}
|
|
226
|
+
if (chunk.metadata.event === "tool_use") {
|
|
227
|
+
yield* toolStarted(chunk);
|
|
228
|
+
}
|
|
229
|
+
else if (chunk.metadata.event === "tool_result") {
|
|
230
|
+
yield* toolEnded(chunk);
|
|
231
|
+
}
|
|
51
232
|
})), Stream.tapError(() => Ref.set(failed, true)), Stream.ensuring(Effect.gen(function* () {
|
|
52
233
|
const end = yield* Clock.currentTimeMillis;
|
|
53
234
|
const firstMs = yield* Ref.get(first);
|
|
235
|
+
const didFail = yield* Ref.get(failed);
|
|
54
236
|
yield* events.publish(Timed.make({
|
|
55
237
|
kind: "model",
|
|
56
|
-
label: role
|
|
238
|
+
label: role,
|
|
57
239
|
ms: end - start,
|
|
58
240
|
...(firstMs === undefined ? {} : { firstMs }),
|
|
59
241
|
...(yield* Ref.get(reported)),
|
|
60
|
-
...(
|
|
242
|
+
...(didFail ? { failed: true } : {})
|
|
61
243
|
}));
|
|
244
|
+
const text = yield* Ref.get(reply);
|
|
245
|
+
const settled = settleUsage(yield* Ref.get(usage), yield* Ref.get(model), messages.reduce((sum, message) => sum + message.content.length, 0), text.length, options.estimate);
|
|
246
|
+
for (const [key, value] of Object.entries({
|
|
247
|
+
...usageAttributes(settled.model, settled.usage, settled.estimated),
|
|
248
|
+
...replyContent(content, text)
|
|
249
|
+
})) {
|
|
250
|
+
span.attribute(key, value);
|
|
251
|
+
}
|
|
252
|
+
yield* recordCall(role, executor, settled, didFail);
|
|
253
|
+
const nanos = yield* Clock.currentTimeNanos;
|
|
254
|
+
for (const entry of yield* Ref.get(openTools)) {
|
|
255
|
+
entry.span.end(nanos, Exit.void);
|
|
256
|
+
}
|
|
257
|
+
span.end(nanos, didFail ? Exit.fail("stream failed") : Exit.void);
|
|
62
258
|
})));
|
|
63
259
|
}));
|
|
64
|
-
export const timedSeat = (service, events, label) => {
|
|
260
|
+
export const timedSeat = (service, events, label, options = {}) => {
|
|
65
261
|
const model = (ms, failed, role) => Timed.make({ kind: "model", label: role ?? label, ms, ...(failed ? { failed: true } : {}) });
|
|
262
|
+
const nothing = () => ({ usage: undefined, model: undefined });
|
|
263
|
+
const prompt = (text) => [
|
|
264
|
+
Message.make({ role: "User", content: text })
|
|
265
|
+
];
|
|
66
266
|
const batched = service.scoreLabelSequence;
|
|
67
267
|
return {
|
|
68
|
-
executeStream: (
|
|
69
|
-
executeStreamWithHistory: (messages) => timedStream(events, label, service.executeStreamWithHistory(messages)),
|
|
70
|
-
executeWithTools: (
|
|
71
|
-
executeStructured: (
|
|
72
|
-
executeStructuredWithUsage: (
|
|
73
|
-
scoreLabels: (
|
|
268
|
+
executeStream: (text) => timedStream(events, label, options, prompt(text), service.executeStream(text)),
|
|
269
|
+
executeStreamWithHistory: (messages) => timedStream(events, label, options, messages, service.executeStreamWithHistory(messages)),
|
|
270
|
+
executeWithTools: (text, tools) => tracedEffect(events, label, options, service.executeWithTools(text, tools), model, nothing),
|
|
271
|
+
executeStructured: (text, schema, jsonSchema) => tracedEffect(events, label, options, service.executeStructured(text, schema, jsonSchema), model, nothing),
|
|
272
|
+
executeStructuredWithUsage: (text, schema, jsonSchema) => tracedEffect(events, label, options, service.executeStructuredWithUsage(text, schema, jsonSchema), model, ([, usage, modelName]) => ({ usage, model: modelName })),
|
|
273
|
+
scoreLabels: (text, labels) => tracedEffect(events, label, options, service.scoreLabels(text, labels), model, nothing),
|
|
74
274
|
...(batched === undefined
|
|
75
275
|
? {}
|
|
76
276
|
: {
|
|
77
|
-
scoreLabelSequence: (
|
|
277
|
+
scoreLabelSequence: (text, labelSets) => tracedEffect(events, label, options, batched(text, labelSets), model, nothing)
|
|
78
278
|
}),
|
|
79
279
|
isAvailable: service.isAvailable
|
|
80
280
|
};
|
package/dist/Timing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timing.js","sourceRoot":"","sources":["../src/Timing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Timing.js","sourceRoot":"","sources":["../src/Timing.ts"],"names":[],"mappings":"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"}
|
package/dist/Transcript.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../src/Transcript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../src/Transcript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAkD9D,eAAO,MAAM,eAAe;;;;;IAhC1B,sDAAsD;;IAEtD,gEAAgE;;IAEhE,yEAAyE;;;;;;;;;;;;;;;;;;;;;IA4BM,CAAA;AACjF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC1F;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAC7B,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC,CACtF,CAAA;CACF;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAQxE,CAAA;AAaD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACtD;AAED,mEAAmE;AACnE,eAAO,MAAM,cAAc,GACzB,SAAS,eAAe,EACxB,MAAM,cAAc,EACpB,SAAS,qBAAqB,KAC7B,eAuIF,CAAA"}
|
package/dist/Transcript.js
CHANGED
|
@@ -7,8 +7,9 @@ import * as Stream from "effect/Stream";
|
|
|
7
7
|
import { redactText } from "@llm4ts/core/observability/Redaction";
|
|
8
8
|
import { roleOr } from "./Timing.js";
|
|
9
9
|
/**
|
|
10
|
-
* What the model was told and what it answered, per seat call —
|
|
11
|
-
*
|
|
10
|
+
* What the model was told and what it answered, per seat call — a record
|
|
11
|
+
* (`llm4ts run --transcript`; on by default in epic-stories, where
|
|
12
|
+
* `LLM4TS_TRANSCRIPT=off` turns it off) that `llm4ts watch` tails. It lives in
|
|
12
13
|
* its own files, never in the trace, so the trace and `llm4ts profile` stay
|
|
13
14
|
* content-free. Secrets are redacted and every field is capped.
|
|
14
15
|
*/
|
package/dist/Transcript.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../src/Transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC
|
|
1
|
+
{"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../src/Transcript.ts"],"names":[],"mappings":"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"}
|