Skip to content

Commit 4549a47

Browse files
jsonbaileyclaude
andcommitted
chore: remove unused tracker params from openai and langchain provider runners
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7624cf3 commit 4549a47

5 files changed

Lines changed: 17 additions & 19 deletions

File tree

packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_agent_graph_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ async def run(self, input: Any) -> AgentGraphResult:
300300
output = extract_last_message_content(messages)
301301

302302
# Flush per-node metrics to LD trackers
303-
handler.flush(self._graph, tracker)
303+
handler.flush(self._graph)
304304

305305
# Graph-level metrics
306306
if tracker:

packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_callback_handler.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,13 @@ def on_tool_end(
188188
# Flush
189189
# ------------------------------------------------------------------
190190

191-
def flush(self, graph: AgentGraphDefinition, graph_tracker: Any) -> None:
191+
def flush(self, graph: AgentGraphDefinition) -> None:
192192
"""
193193
Emit all collected per-node metrics to the LaunchDarkly trackers.
194194
195195
Call this once after the graph run completes.
196196
197197
:param graph: The AgentGraphDefinition whose nodes hold the LD config trackers.
198-
:param graph_tracker: The AIGraphTracker for the overall graph (may be None).
199198
"""
200199
for node_key in self._path:
201200
node = graph.get_node(node_key)

packages/ai-providers/server-ai-langchain/tests/test_langgraph_callback_handler.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ def test_flush_emits_token_events_to_ld_tracker():
326326
node_run_id = uuid4()
327327
handler.on_chain_start({}, {}, run_id=node_run_id, name='root-agent')
328328
handler.on_llm_end(_llm_result(15, 10, 5), run_id=uuid4(), parent_run_id=node_run_id)
329-
handler.flush(graph, tracker)
329+
handler.flush(graph)
330330

331331
ev = _events(mock_ld_client)
332332
assert ev['$ld:ai:tokens:total'][0][1] == 15
@@ -345,7 +345,7 @@ def test_flush_emits_duration():
345345
run_id = uuid4()
346346
handler.on_chain_start({}, {}, run_id=run_id, name='root-agent')
347347
handler.on_chain_end({}, run_id=run_id)
348-
handler.flush(graph, tracker)
348+
handler.flush(graph)
349349

350350
ev = _events(mock_ld_client)
351351
assert '$ld:ai:duration:total' in ev
@@ -365,7 +365,7 @@ def test_flush_emits_tool_calls():
365365
tools_run_id = uuid4()
366366
handler.on_chain_start({}, {}, run_id=tools_run_id, name='root-agent__tools')
367367
handler.on_tool_end('r', run_id=uuid4(), parent_run_id=tools_run_id, name='fn_search')
368-
handler.flush(graph, tracker)
368+
handler.flush(graph)
369369

370370
ev = _events(mock_ld_client)
371371
tool_events = ev.get('$ld:ai:tool_call', [])
@@ -383,7 +383,7 @@ def test_flush_includes_graph_key_in_node_events():
383383
node_run_id = uuid4()
384384
handler.on_chain_start({}, {}, run_id=node_run_id, name='root-agent')
385385
handler.on_llm_end(_llm_result(5, 3, 2), run_id=uuid4(), parent_run_id=node_run_id)
386-
handler.flush(graph, tracker)
386+
handler.flush(graph)
387387

388388
ev = _events(mock_ld_client)
389389
token_data = ev['$ld:ai:tokens:total'][0][0]
@@ -430,7 +430,7 @@ def test_flush_with_no_graph_key_on_node_tracker():
430430
node_run_id = uuid4()
431431
handler.on_chain_start({}, {}, run_id=node_run_id, name='root-agent')
432432
handler.on_llm_end(_llm_result(5, 3, 2), run_id=uuid4(), parent_run_id=node_run_id)
433-
handler.flush(graph, None)
433+
handler.flush(graph)
434434

435435
ev = _events(mock_ld_client)
436436
token_data = ev['$ld:ai:tokens:total'][0][0]
@@ -445,7 +445,7 @@ def test_flush_skips_nodes_not_in_path():
445445

446446
# Handler with 'root-agent' in node_keys but never started
447447
handler = LDMetricsCallbackHandler({'root-agent'}, {})
448-
handler.flush(graph, tracker)
448+
handler.flush(graph)
449449

450450
ev = _events(mock_ld_client)
451451
assert '$ld:ai:tokens:total' not in ev
@@ -481,7 +481,7 @@ def test_flush_skips_node_without_tracker():
481481
node_run_id = uuid4()
482482
handler.on_chain_start({}, {}, run_id=node_run_id, name='no-track')
483483
handler.on_llm_end(_llm_result(5, 3, 2), run_id=uuid4(), parent_run_id=node_run_id)
484-
handler.flush(graph, None) # should not raise
484+
handler.flush(graph) # should not raise
485485

486486
mock_ld_client.track.assert_not_called()
487487

packages/ai-providers/server-ai-langchain/tests/test_tracking_langgraph.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ async def test_tracks_node_and_graph_tokens_on_success():
243243
)
244244
handler.on_llm_end(llm_result, run_id=uuid4(), parent_run_id=node_run_id)
245245
handler.on_chain_end({}, run_id=node_run_id)
246-
handler.flush(graph2, tracker2)
246+
handler.flush(graph2)
247247

248248
ev2 = _events(mock_ld_client2)
249249
assert ev2['$ld:ai:tokens:total'][0][1] == 15
@@ -317,7 +317,7 @@ def get_weather(location: str = 'NYC') -> str:
317317
tools_run_id = uuid4()
318318
handler.on_chain_start({}, {}, run_id=tools_run_id, name='root-agent__tools')
319319
handler.on_tool_end('sunny', run_id=uuid4(), parent_run_id=tools_run_id, name='get_weather')
320-
handler.flush(graph2, tracker2)
320+
handler.flush(graph2)
321321

322322
ev2 = _events(mock_ld_client2)
323323
tool_events = ev2.get('$ld:ai:tool_call', [])
@@ -371,7 +371,7 @@ def summarize(text: str = '') -> str:
371371
handler.on_chain_start({}, {}, run_id=tools_run_id, name='root-agent__tools')
372372
handler.on_tool_end('result', run_id=uuid4(), parent_run_id=tools_run_id, name='search')
373373
handler.on_tool_end('summary', run_id=uuid4(), parent_run_id=tools_run_id, name='summarize')
374-
handler.flush(graph2, tracker2)
374+
handler.flush(graph2)
375375

376376
ev2 = _events(mock_ld_client2)
377377
tool_keys = [data['toolKey'] for data, _ in ev2.get('$ld:ai:tool_call', [])]
@@ -402,7 +402,7 @@ async def test_tracks_graph_key_on_node_events():
402402
llm_output={},
403403
)
404404
handler.on_llm_end(llm_result, run_id=uuid4(), parent_run_id=node_run_id)
405-
handler.flush(graph, tracker)
405+
handler.flush(graph)
406406

407407
ev = _events(mock_ld_client)
408408
token_data = ev['$ld:ai:tokens:total'][0][0]
@@ -487,7 +487,7 @@ def model_factory(node_config, **kwargs):
487487
)
488488
handler.on_llm_end(child_llm_result, run_id=uuid4(), parent_run_id=child_run_id)
489489

490-
handler.flush(graph2, tracker2)
490+
handler.flush(graph2)
491491

492492
ev2 = _events(mock_ld_client2)
493493

packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ async def run(self, input: Any) -> AgentGraphResult:
8282
from agents import Runner
8383
root_agent = self._build_agents(path, state)
8484
result = await Runner.run(root_agent, str(input))
85-
self._flush_final_segment(state, tracker, result)
86-
self._track_tool_calls(result, tracker)
85+
self._flush_final_segment(state, result)
86+
self._track_tool_calls(result)
8787

8888
duration = (time.perf_counter_ns() - start_ns) // 1_000_000
8989

@@ -258,7 +258,6 @@ def _handle_handoff(
258258
def _flush_final_segment(
259259
self,
260260
state: _RunState,
261-
tracker: Any,
262261
result: Any,
263262
) -> None:
264263
"""Record duration/tokens for the last active agent (no handoff after it)."""
@@ -287,7 +286,7 @@ def _flush_final_segment(
287286
config_tracker.track_duration(int(duration_ms))
288287
config_tracker.track_success()
289288

290-
def _track_tool_calls(self, result: Any, tracker: Any) -> None:
289+
def _track_tool_calls(self, result: Any) -> None:
291290
"""Track all tool calls from the run result, attributed to the node that called them."""
292291
for agent_name, tool_fn_name in get_tool_calls_from_run_items(result.new_items):
293292
agent_key = self._agent_name_map.get(agent_name, agent_name)

0 commit comments

Comments
 (0)