darwin-langgraph 0.3.0-alpha.1 → 0.5.0-alpha.1
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/CHANGELOG.md +267 -0
- package/README.md +30 -6
- package/dist/create-darwin-node.d.ts +55 -0
- package/dist/create-darwin-node.d.ts.map +1 -1
- package/dist/create-darwin-node.js +56 -1
- package/dist/create-darwin-node.js.map +1 -1
- package/dist/darwin-accumulating-annotation.d.ts +81 -0
- package/dist/darwin-accumulating-annotation.d.ts.map +1 -0
- package/dist/darwin-accumulating-annotation.js +144 -0
- package/dist/darwin-accumulating-annotation.js.map +1 -0
- package/dist/darwin-callback-handler.d.ts +131 -1
- package/dist/darwin-callback-handler.d.ts.map +1 -1
- package/dist/darwin-callback-handler.js +360 -18
- package/dist/darwin-callback-handler.js.map +1 -1
- package/dist/errors.d.ts +16 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/to-otel-attributes.d.ts +49 -0
- package/dist/to-otel-attributes.d.ts.map +1 -1
- package/dist/to-otel-attributes.js +38 -2
- package/dist/to-otel-attributes.js.map +1 -1
- package/dist/to-w3c-trace-context.d.ts +81 -0
- package/dist/to-w3c-trace-context.d.ts.map +1 -0
- package/dist/to-w3c-trace-context.js +134 -0
- package/dist/to-w3c-trace-context.js.map +1 -0
- package/dist/token-budget.d.ts +141 -0
- package/dist/token-budget.d.ts.map +1 -0
- package/dist/token-budget.js +225 -0
- package/dist/token-budget.js.map +1 -0
- package/dist/with-darwin-evolution.d.ts +16 -0
- package/dist/with-darwin-evolution.d.ts.map +1 -1
- package/dist/with-darwin-evolution.js +9 -1
- package/dist/with-darwin-evolution.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface 10 (V0.4) — `createTokenBudgetCallbacks(budget, onExceed)`.
|
|
3
|
+
*
|
|
4
|
+
* Production-pattern from the LangGraph TypeScript Production Guide
|
|
5
|
+
* (langgraphjs.guide/production): a token budget enforced per-invocation
|
|
6
|
+
* across ALL LLM calls inside a graph, throwing when the budget is
|
|
7
|
+
* exceeded. Mirrors the canonical example with two differences:
|
|
8
|
+
*
|
|
9
|
+
* 1. Returned as a `BaseCallbackHandler` subclass so it composes with
|
|
10
|
+
* {@link DarwinCallbackHandler} via the standard `{ callbacks: [...] }`
|
|
11
|
+
* option — no model-side patching required, works against any
|
|
12
|
+
* LangChain provider that emits `handleLLMEnd`.
|
|
13
|
+
* 2. Throws a typed {@link DarwinTokenBudgetExceededError} so consumers
|
|
14
|
+
* can `instanceof`-check without parsing message text.
|
|
15
|
+
*
|
|
16
|
+
* The handler tracks BOTH the LangChain-canonical `output.llmOutput.tokenUsage`
|
|
17
|
+
* shape (used by `ChatOpenAI`, `ChatAnthropic`, etc.) AND the per-message
|
|
18
|
+
* usage shape (`generations[0][0].message.usage_metadata`) some providers
|
|
19
|
+
* emit. The total is monotonically non-decreasing across `handleLLMEnd`
|
|
20
|
+
* events; once the budget is crossed the throw happens INSIDE
|
|
21
|
+
* `handleLLMEnd`, which LangChain surfaces back to the caller of
|
|
22
|
+
* `graph.invoke` / `graph.stream`.
|
|
23
|
+
*
|
|
24
|
+
* IMPORTANT: the throw is the only reliable abort signal — LangGraph's
|
|
25
|
+
* node-level retry policy may still re-fire the budget-exceeded path.
|
|
26
|
+
* The `onExceed` callback fires once per handler instance regardless of
|
|
27
|
+
* how many times the throw is observed (use it for logging / alerting,
|
|
28
|
+
* not retry).
|
|
29
|
+
*
|
|
30
|
+
* NEW V0.4 (S1235).
|
|
31
|
+
*/
|
|
32
|
+
import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
|
|
33
|
+
import { DarwinTokenBudgetExceededError } from "./errors.js";
|
|
34
|
+
/**
|
|
35
|
+
* Internal helper — extract a usable token total from an LLMResult.
|
|
36
|
+
* Prefers `output.llmOutput.tokenUsage.totalTokens` (LangChain canonical
|
|
37
|
+
* for OpenAI + Anthropic) and falls back to summing the per-generation
|
|
38
|
+
* `usage_metadata` (some providers).
|
|
39
|
+
*
|
|
40
|
+
* Returns 0 on a malformed shape rather than throwing — a token-budget
|
|
41
|
+
* handler should never break the graph itself.
|
|
42
|
+
*/
|
|
43
|
+
function extractTokenDelta(output) {
|
|
44
|
+
// Canonical LangChain shape (ChatOpenAI / ChatAnthropic / etc.).
|
|
45
|
+
const top = output;
|
|
46
|
+
const canonical = top.llmOutput?.tokenUsage?.totalTokens;
|
|
47
|
+
if (typeof canonical === "number" && Number.isFinite(canonical) && canonical >= 0) {
|
|
48
|
+
return canonical;
|
|
49
|
+
}
|
|
50
|
+
// Fallback: per-message `usage_metadata` (Anthropic native, some others).
|
|
51
|
+
let summed = 0;
|
|
52
|
+
if (output.generations && Array.isArray(output.generations)) {
|
|
53
|
+
for (const generationGroup of output.generations) {
|
|
54
|
+
if (!Array.isArray(generationGroup))
|
|
55
|
+
continue;
|
|
56
|
+
for (const gen of generationGroup) {
|
|
57
|
+
const m = gen.message;
|
|
58
|
+
const usage = (m && m.usage_metadata);
|
|
59
|
+
if (!usage)
|
|
60
|
+
continue;
|
|
61
|
+
if (typeof usage.total_tokens === "number" && Number.isFinite(usage.total_tokens)) {
|
|
62
|
+
summed += usage.total_tokens;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const i = typeof usage.input_tokens === "number" && Number.isFinite(usage.input_tokens)
|
|
66
|
+
? usage.input_tokens
|
|
67
|
+
: 0;
|
|
68
|
+
const o = typeof usage.output_tokens === "number" && Number.isFinite(usage.output_tokens)
|
|
69
|
+
? usage.output_tokens
|
|
70
|
+
: 0;
|
|
71
|
+
summed += i + o;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return summed;
|
|
77
|
+
}
|
|
78
|
+
function extractProviderHint(output) {
|
|
79
|
+
const top = output;
|
|
80
|
+
const a = top.llmOutput?.modelName;
|
|
81
|
+
if (typeof a === "string" && a.length > 0)
|
|
82
|
+
return a;
|
|
83
|
+
const b = top.llmOutput?.model_name;
|
|
84
|
+
if (typeof b === "string" && b.length > 0)
|
|
85
|
+
return b;
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* LangChain `BaseCallbackHandler` that enforces a hard token budget
|
|
90
|
+
* across all LLM calls observed during its lifetime.
|
|
91
|
+
*
|
|
92
|
+
* Construct once per `graph.invoke` call (do NOT reuse across requests —
|
|
93
|
+
* the running total is per-handler-instance). The
|
|
94
|
+
* {@link createTokenBudgetCallbacks} factory makes the per-invocation
|
|
95
|
+
* shape ergonomic.
|
|
96
|
+
*/
|
|
97
|
+
export class TokenBudgetCallbackHandler extends BaseCallbackHandler {
|
|
98
|
+
name = "DarwinTokenBudgetHandler";
|
|
99
|
+
/**
|
|
100
|
+
* V0.4 R1 P2-3 fix (S1235): `awaitHandlers = true` is required so
|
|
101
|
+
* LangChain's callback manager AWAITS this handler before continuing
|
|
102
|
+
* — the synchronous `throw` from `handleLLMEnd` MUST reach the
|
|
103
|
+
* `graph.invoke` caller. With `awaitHandlers = false` the throw may
|
|
104
|
+
* surface as an unhandled rejection in some LangChain versions
|
|
105
|
+
* rather than aborting the graph, which is the entire point of a
|
|
106
|
+
* token budget.
|
|
107
|
+
*/
|
|
108
|
+
awaitHandlers = true;
|
|
109
|
+
budget;
|
|
110
|
+
onExceed;
|
|
111
|
+
onTick;
|
|
112
|
+
totalTokens = 0;
|
|
113
|
+
exceedWarned = false;
|
|
114
|
+
exceedFired = false;
|
|
115
|
+
tickErrorWarned = false;
|
|
116
|
+
constructor(opts) {
|
|
117
|
+
super();
|
|
118
|
+
if (typeof opts?.budget !== "number" ||
|
|
119
|
+
!Number.isFinite(opts.budget) ||
|
|
120
|
+
opts.budget <= 0 ||
|
|
121
|
+
!Number.isInteger(opts.budget)) {
|
|
122
|
+
// R1-self-check: misconfigured budget is a deploy bug, not a
|
|
123
|
+
// runtime hiccup — fail loud on construction so it surfaces in
|
|
124
|
+
// CI / dev rather than at the first LLM call in prod.
|
|
125
|
+
throw new DarwinTokenBudgetExceededError(`createTokenBudgetCallbacks: budget must be a finite positive integer, got ${String(opts?.budget)}.`, typeof opts?.budget === "number" ? opts.budget : 0, 0, undefined);
|
|
126
|
+
}
|
|
127
|
+
this.budget = opts.budget;
|
|
128
|
+
this.onExceed = opts.onExceed;
|
|
129
|
+
this.onTick = opts.onTick;
|
|
130
|
+
}
|
|
131
|
+
handleLLMEnd(output) {
|
|
132
|
+
const delta = extractTokenDelta(output);
|
|
133
|
+
const providerHint = extractProviderHint(output);
|
|
134
|
+
// Tick logic — fire even when delta is 0 so dashboards see steady
|
|
135
|
+
// ticks (helpful for "is the agent stuck?" detection).
|
|
136
|
+
this.totalTokens += delta;
|
|
137
|
+
const remaining = Math.max(0, this.budget - this.totalTokens);
|
|
138
|
+
if (this.onTick) {
|
|
139
|
+
try {
|
|
140
|
+
this.onTick({
|
|
141
|
+
budget: this.budget,
|
|
142
|
+
totalTokens: this.totalTokens,
|
|
143
|
+
deltaTokens: delta,
|
|
144
|
+
remainingTokens: remaining,
|
|
145
|
+
providerHint,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
this.warnTick(err);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (this.totalTokens > this.budget) {
|
|
153
|
+
if (this.onExceed && !this.exceedFired) {
|
|
154
|
+
this.exceedFired = true;
|
|
155
|
+
try {
|
|
156
|
+
this.onExceed({
|
|
157
|
+
budget: this.budget,
|
|
158
|
+
totalTokens: this.totalTokens,
|
|
159
|
+
providerHint,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
if (!this.exceedWarned) {
|
|
164
|
+
this.exceedWarned = true;
|
|
165
|
+
console.warn(`[darwin-langgraph] TokenBudgetCallbackHandler.onExceed threw — ` +
|
|
166
|
+
`swallowed to keep the budget throw visible. Subsequent throws ` +
|
|
167
|
+
`from onExceed are silent. Original error: ` +
|
|
168
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
throw new DarwinTokenBudgetExceededError(`Token budget exceeded: ${this.totalTokens}/${this.budget} ` +
|
|
173
|
+
`(provider: ${providerHint ?? "unknown"}).`, this.budget, this.totalTokens, providerHint);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
warnTick(err) {
|
|
177
|
+
if (this.tickErrorWarned)
|
|
178
|
+
return;
|
|
179
|
+
this.tickErrorWarned = true;
|
|
180
|
+
console.warn(`[darwin-langgraph] TokenBudgetCallbackHandler.onTick threw — swallowed. ` +
|
|
181
|
+
`Subsequent throws from onTick are silent. Original error: ` +
|
|
182
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
183
|
+
}
|
|
184
|
+
/** Helper for tests + debug introspection. */
|
|
185
|
+
getTotalTokens() {
|
|
186
|
+
return this.totalTokens;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Factory that returns a single-element `BaseCallbackHandler[]` ready to
|
|
191
|
+
* be passed via the standard LangGraph `{ callbacks: [...] }` option.
|
|
192
|
+
* Returning an array is the ergonomic shape — most consumers spread it
|
|
193
|
+
* into a larger callbacks array next to {@link DarwinCallbackHandler}.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```ts
|
|
197
|
+
* import {
|
|
198
|
+
* DarwinCallbackHandler,
|
|
199
|
+
* createTokenBudgetCallbacks,
|
|
200
|
+
* DarwinTokenBudgetExceededError,
|
|
201
|
+
* } from "darwin-langgraph";
|
|
202
|
+
*
|
|
203
|
+
* try {
|
|
204
|
+
* const result = await graph.invoke({ task: "..." }, {
|
|
205
|
+
* callbacks: [
|
|
206
|
+
* new DarwinCallbackHandler({ nodeMap, onTrajectory }),
|
|
207
|
+
* ...createTokenBudgetCallbacks({
|
|
208
|
+
* budget: 20_000,
|
|
209
|
+
* onExceed: ({ totalTokens, providerHint }) => {
|
|
210
|
+
* console.error(`Budget breach: ${totalTokens} tok (${providerHint})`);
|
|
211
|
+
* },
|
|
212
|
+
* }),
|
|
213
|
+
* ],
|
|
214
|
+
* });
|
|
215
|
+
* } catch (err) {
|
|
216
|
+
* if (err instanceof DarwinTokenBudgetExceededError) {
|
|
217
|
+
* // ... graceful degradation, fallback model, etc.
|
|
218
|
+
* }
|
|
219
|
+
* }
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
export function createTokenBudgetCallbacks(opts) {
|
|
223
|
+
return [new TokenBudgetCallbackHandler(opts)];
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=token-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-budget.js","sourceRoot":"","sources":["../src/token-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AA4C7D;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,MAAiB;IAC1C,iEAAiE;IACjE,MAAM,GAAG,GAAG,MAEX,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;IACzD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;gBAAE,SAAS;YAC9C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAI,GAAkD,CAAC,OAAO,CAAC;gBACtE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAK,CAAkC,CAAC,cAAc,CAEzD,CAAC;gBACd,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClF,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GACL,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC3E,CAAC,CAAC,KAAK,CAAC,YAAY;wBACpB,CAAC,CAAC,CAAC,CAAC;oBACR,MAAM,CAAC,GACL,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;wBAC7E,CAAC,CAAC,KAAK,CAAC,aAAa;wBACrB,CAAC,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiB;IAC5C,MAAM,GAAG,GAAG,MAEX,CAAC;IACF,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;IACxC,IAAI,GAAG,0BAA0B,CAAC;IAC3D;;;;;;;;OAQG;IACsB,aAAa,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAS;IACf,QAAQ,CAAiC;IACzC,MAAM,CAA+B;IAC9C,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IACrB,WAAW,GAAG,KAAK,CAAC;IACpB,eAAe,GAAG,KAAK,CAAC;IAEhC,YAAY,IAAwB;QAClC,KAAK,EAAE,CAAC;QACR,IACE,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ;YAChC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,CAAC;YACD,6DAA6D;YAC7D,+DAA+D;YAC/D,sDAAsD;YACtD,MAAM,IAAI,8BAA8B,CACtC,6EAA6E,MAAM,CACjF,IAAI,EAAE,MAAM,CACb,GAAG,EACJ,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClD,CAAC,EACD,SAAS,CACV,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEQ,YAAY,CAAC,MAAiB;QACrC,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,kEAAkE;QAClE,uDAAuD;QACvD,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC;oBACV,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,KAAK;oBAClB,eAAe,EAAE,SAAS;oBAC1B,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC;wBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,OAAO,CAAC,IAAI,CACV,iEAAiE;4BAC/D,gEAAgE;4BAChE,4CAA4C;4BAC5C,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,8BAA8B,CACtC,0BAA0B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG;gBAC1D,cAAc,YAAY,IAAI,SAAS,IAAI,EAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,EAChB,YAAY,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,GAAY;QAC3B,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,IAAI,CACV,0EAA0E;YACxE,4DAA4D;YAC5D,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;IACJ,CAAC;IAED,8CAA8C;IACvC,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAwB;IAExB,OAAO,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -74,6 +74,22 @@ export interface DarwinTrajectoryEvent {
|
|
|
74
74
|
* NEW V0.3 (S1187).
|
|
75
75
|
*/
|
|
76
76
|
parentRunId?: string;
|
|
77
|
+
/**
|
|
78
|
+
* `true` when the trajectory's serialised size exceeded the configured
|
|
79
|
+
* `maxTrajectoryBytes` cap and was replaced with a structurally
|
|
80
|
+
* compatible BUT minimal stub by {@link DarwinCallbackHandler}. The
|
|
81
|
+
* stub preserves `version`, all aggregate counts (`turnCount` /
|
|
82
|
+
* `textBlockCount` / `mcpInvocations`), `capturedAt`, and any captured
|
|
83
|
+
* `tokenUsage`, but replaces `toolCalls` and `errors` with empty
|
|
84
|
+
* arrays. Use this flag to branch on degraded payloads in OTEL exporters
|
|
85
|
+
* or alerting.
|
|
86
|
+
*
|
|
87
|
+
* Omitted (not `false`) when the trajectory passed through unchanged
|
|
88
|
+
* — consumers should treat the absence of the field as "intact".
|
|
89
|
+
*
|
|
90
|
+
* NEW V0.4 (S1235).
|
|
91
|
+
*/
|
|
92
|
+
trajectoryTruncated?: boolean;
|
|
77
93
|
}
|
|
78
94
|
/** Options for {@link withDarwinEvolution}. */
|
|
79
95
|
export interface DarwinEvolutionOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-darwin-evolution.d.ts","sourceRoot":"","sources":["../src/with-darwin-evolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;;;OAMG;IACH,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"with-darwin-evolution.d.ts","sourceRoot":"","sources":["../src/with-darwin-evolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;;;OAMG;IACH,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mGAAmG;IACnG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,yEAAyE;AACzE,UAAU,cAAc;IACtB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3E;AAyDD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC1D,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,sBAAsB,GAC3B,CAAC,CAgSH"}
|
|
@@ -153,7 +153,15 @@ export function withDarwinEvolution(graph, opts) {
|
|
|
153
153
|
const frozen = Object.freeze({ ...stateObj });
|
|
154
154
|
for (const [nodeName, { agentName, trajectoryKey }] of resolved) {
|
|
155
155
|
const trajectory = stateObj[trajectoryKey];
|
|
156
|
-
|
|
156
|
+
// R2 self-check (S1235): mirror the forward-compat `version >= 1`
|
|
157
|
+
// gate used by `isExecutionTrace` and the accumulator reducer.
|
|
158
|
+
// The legacy `withDarwinEvolution` wrapper would otherwise
|
|
159
|
+
// silently drop v=2 trajectories that the new code paths emit.
|
|
160
|
+
if (!trajectory ||
|
|
161
|
+
typeof trajectory !== "object" ||
|
|
162
|
+
typeof trajectory.version !== "number" ||
|
|
163
|
+
!Number.isFinite(trajectory.version) ||
|
|
164
|
+
trajectory.version < 1) {
|
|
157
165
|
continue;
|
|
158
166
|
}
|
|
159
167
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-darwin-evolution.js","sourceRoot":"","sources":["../src/with-darwin-evolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"with-darwin-evolution.js","sourceRoot":"","sources":["../src/with-darwin-evolution.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "darwin-langgraph",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "LangGraph.js adapter for darwin-agents — wrap self-evolving Darwin agents as StateGraph nodes with zero hard deps.",
|
|
3
|
+
"version": "0.5.0-alpha.1",
|
|
4
|
+
"description": "LangGraph.js adapter for darwin-agents — wrap self-evolving Darwin agents as StateGraph nodes with zero hard deps. V0.5 verifies LangGraph 1.4.x compatibility (concurrent-invoke isolation) and tracks darwin-agents 0.7. V0.4 added tool-event capture, OpenTelemetry GenAI LangGraph attributes, W3C trace context, token-budget enforcement, and an accumulating trajectory annotation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://github.com/studiomeyer-io/darwin-langgraph#readme",
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@langchain/langgraph": "^1.3.0",
|
|
54
|
-
"darwin-agents": "
|
|
53
|
+
"@langchain/langgraph": "^1.3.0 || ^1.4.0",
|
|
54
|
+
"darwin-agents": ">=0.5.0-alpha.1 <0.8.0"
|
|
55
55
|
},
|
|
56
56
|
"peerDependenciesMeta": {
|
|
57
57
|
"@langchain/langgraph": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@langchain/langgraph": "^1.
|
|
65
|
+
"@langchain/langgraph": "^1.4.4",
|
|
66
66
|
"@types/node": "^22.10.0",
|
|
67
67
|
"darwin-agents": "^0.5.0-alpha.1",
|
|
68
68
|
"tsx": "^4.19.0",
|