LangChain Glossary

What LangChain and its tracing client call the things the project glossary names, and where each one appears in the data they send.

The dialect is langsmith/1. That names the vocabulary, not the adapter: langsmith-ingest says how records were acquired, the dialect says how they are read.

Two words here mean something other than what a reader might expect, and both matter. The client’s session is the project, not a conversation. And its run is any step of the graph, so most runs are not what this model calls a Run — the invocation they share, trace_id, is.

The tables below are copied from what asz glossary langsmith/1 prints. The command reads the adapter’s own declarations, so where this page and the command differ, the command is right.

asz glossary langsmith/1            this table
asz conversation ID                 talk · run · llm.call · tool
asz conversation -terms native ID   talk · trace_id · id · run_type: tool
asz conversation -terms both ID     run  (trace_id)

60 terms: 17 that LangChain names, 43 this project derives. That ratio is worth watching against the Claude Code one. A framework that records its own graph in detail still has no word for a conversation boundary, a context reset or a delegated agent — which is the whole reason this model exists separately from any product’s.


Named by LangChain

Each row says where the thing is recorded in a run.

Model LangChain Where Note
agent.call a tool call whose run has model calls beneath it the wire has no word for delegation; it is read from the nested context
agent.output outputs.output.content the delegating tool run
call id a run of type llm shared by every arrival about that run
conversation extra.metadata.thread_id a run with session_id and conversation_id as the other spellings; supplied, never inferred
error.api error a run a string with the exception and its traceback
id id a run the record is the arrival, so a run that is posted and later patched has two
input_of inputs a run
llm.call run_type: llm a run
message.assistant outputs.generations[].message.kwargs.content a run of type llm
message.external inputs.messages the root run of a trace the message that opened the turn has no run of its own
model extra.metadata.ls_model_name a run of type llm
parent parent_run_id a run the child names the parent; dotted_order carries the whole ancestry
result_of tool_call_id outputs.output of a run of type tool
run trace_id a run the client calls every graph step a run; this is the invocation they share
session session_name a run the client’s word for the PROJECT; a conversation is the thread key, and a session here is the two together
time start_time and end_time a run
tool run_type: tool a run

Derived by this project

Nothing on the wire carries these. They are what assembly works out from the evidence above, and saying so is more useful than a plausible name that would send a reader looking for a field that is not there.

Model LangChain Where Note
agent.launch_ack derived here no equivalent: nothing acknowledges a delegation separately
available derived here the client sends inputs and outputs whole, as their own parts
batch derived here no equivalent: nothing here launches a group of agents at once
cancels derived here no equivalent
child derived here no equivalent: a nested agent is a run beneath a tool, named as nothing else
conflict derived here derived
context.injection derived here no equivalent
continues derived here no equivalent: the client has no context reset to resume from
control.command derived here no equivalent
control.interrupt derived here no equivalent
control.permission derived here no equivalent: nothing here asks before running a tool
ends_with derived here derived from a nested agent’s last response
epoch derived here no equivalent: the client has no context reset
epoch.boundary derived here no equivalent: the client has no context reset
epoch.summary derived here no equivalent
exact_ambiguous derived here derived
exact_unique derived here one call id, named by the tool run that answered it
external derived here the root run of a trace carries the message that opened it
follows derived here derived from order within a trace
hash_only derived here no equivalent
in_segment derived here derived
message.synthetic derived here no equivalent: nothing here fabricates a message on the model’s behalf
notification derived here no equivalent
omitted derived here a graph’s own run: its repeated message list is not landed
redacted derived here no equivalent: nothing on the wire says it redacted anything
reports derived here derived
retries derived here no equivalent yet: the client does not say a run retried another
runtime.notification derived here no equivalent
segment derived here an activity window chosen for commit
size_only derived here no equivalent
starts derived here derived from a delegating tool and the runs beneath it
stream derived here no equivalent: a nested agent is a run like any other
strong_inference derived here derived: a failed tool joined to the one unanswered call of its name
summarizes derived here no equivalent
talk derived here one readable interaction; one trace is one turn
thinking derived here no equivalent yet: a provider’s reasoning arrives inside the message content
trigger derived here no equivalent: derived from a trace’s root run
truncated derived here no equivalent: nothing measured arrived truncated
turn.duration derived here no equivalent as a record; a run’s own start and end give it
unavailable derived here a run that arrived unfinished: its content is not there yet
unknown derived here derived
unresolved derived here derived: a failed tool whose model call arrived in another request
weak_inference derived here derived