Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ This is a Mintlify site. Pages are `.mdx`, navigation lives in `docs.json`, reus
## Navigation and linking

- Every new page MUST be added to `docs.json`. Pages not listed there are unreachable from the sidebar even if they exist on disk.
- When deleting or moving a page, also `grep -r "tracing/integrations/<slug>"` across the repo to find inbound links. Common offenders: sibling integration pages often cross-link via a `<Note>` block and those must be updated in lockstep.
- When deleting or moving a page, also `grep -r "integrations/<slug>"` across the repo to find inbound links. Common offenders: sibling integration pages often cross-link via a `<Note>` block and those must be updated in lockstep.
- **Integrations live at `/integrations/*` (top-level tab), not `/tracing/integrations/*`.** LAM-1567 promoted integrations to their own tab in `docs.json` alongside Documentation / Guides / SDK / Changelog, with groups `Overview`, `Agent frameworks`, `LLM providers`, `Browser agents`, `OpenTelemetry`. `/tracing/otel` is referenced from the OpenTelemetry group but its file still physically lives under `tracing/` — don't move it, just keep the `docs.json` entry pointing there.
- When a page (like `tracing/otel`) is surfaced under multiple tabs, list it in only ONE place in `docs.json`. Listing the same slug in two tabs silently breaks the sidebar in the second tab (Mintlify picks one and drops the other).
- Internal links use absolute paths from the docs root with no `.mdx` extension: `[Signals](/signals/introduction)`.
- Mintlify auto-redirects `/<group-slug>` to the first page in the group when you add a sidebar group whose slug matches an existing single-page URL (verified: `/signals` → 307 → `/signals/introduction` after converting `signals.mdx` into a `signals/` group). No explicit redirect entry is needed in `docs.json` when splitting a page into a group, but inbound links should still be updated to the canonical first-page URL.
- Run `npx mintlify broken-links` from `/repos/docs` after any restructuring that moves or renames pages; it catches intra-docs link regressions in seconds and is more reliable than grepping for old paths.
Expand Down
8 changes: 4 additions & 4 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ New releases and improvements.
- **Evaluations docs rewrite** - [Evaluations](/evaluations/introduction) is restructured end to end. New [Concepts](/evaluations/concepts) page covers the datapoint / executor / evaluator / group model; new [Compare runs](/evaluations/comparing-runs) page documents the progression chart and side-by-side diff; [Datasets](/evaluations/datasets) replaces the old using-dataset page; [Self-hosted](/evaluations/self-hosted) consolidates SDK config for self-hosted instances. Online evaluators are removed.
- **Transcript view docs** - New [Viewing traces](/platform/viewing-traces) page covers transcript view: auto-extracted agent inputs, LLM turns, tool-call previews, and collapsible subagent cards. Tree view is still one click away when you want raw span structure.
- **Alerts and reports overhaul** — Alerts now support multi-severity filtering (Info, Warning, Critical), a *skip similar events* option, and a second trigger type for new clusters. Every new Signal ships with a critical-severity event alert and a cluster alert by default. Workspaces get weekday and weekly signal summary reports out of the box. Alerts and reports post to an in-app notification center; Slack and email are configurable per alert or report. See [Alerts](/signals/alerts) and [Reports](/signals/reports).
- **Claude Agent SDK integration refresh** — Updated the [Claude Agent SDK](/tracing/integrations/claude-agent-sdk) page with end-to-end setup for TypeScript and Python, a multi-subagent example, and real transcript and tree-view screenshots.
- **OpenAI Agents SDK integration** — `Laminar.initialize()` now auto-instruments the [OpenAI Agents SDK](/tracing/integrations/openai-agents-sdk) in Python. Agent workflows, turns, tool calls, and handoffs land in Laminar as nested spans with system instructions preserved on every LLM call.
- **Pydantic AI integration** - `Laminar.initialize()` now auto-instruments [Pydantic AI](/tracing/integrations/pydantic-ai) in Python when `pydantic-ai-slim` is importable. No `Agent.instrument_all()` call or manual OTLP exporter setup is needed; raw provider instrumentors (OpenAI, Anthropic, Google GenAI, Groq, Mistral, Cohere, Bedrock) are auto-removed to avoid duplicate spans on every model call.
- **Mastra integration** — Native [Mastra](/tracing/integrations/mastra) support via `MastraExporter` wired through Mastra's `Observability` config. Captures every agent run, model step, tool call, and sub-agent. When a coordinator agent delegates to sub-agents exposed as tools, the sub-agent's full run nests under the parent tool span in one unified trace.
- **Claude Agent SDK integration refresh** — Updated the [Claude Agent SDK](/integrations/claude-agent-sdk) page with end-to-end setup for TypeScript and Python, a multi-subagent example, and real transcript and tree-view screenshots.
- **OpenAI Agents SDK integration** — `Laminar.initialize()` now auto-instruments the [OpenAI Agents SDK](/integrations/openai-agents-sdk) in Python. Agent workflows, turns, tool calls, and handoffs land in Laminar as nested spans with system instructions preserved on every LLM call.
- **Pydantic AI integration** - `Laminar.initialize()` now auto-instruments [Pydantic AI](/integrations/pydantic-ai) in Python when `pydantic-ai-slim` is importable. No `Agent.instrument_all()` call or manual OTLP exporter setup is needed; raw provider instrumentors (OpenAI, Anthropic, Google GenAI, Groq, Mistral, Cohere, Bedrock) are auto-removed to avoid duplicate spans on every model call.
- **Mastra integration** — Native [Mastra](/integrations/mastra) support via `MastraExporter` wired through Mastra's `Observability` config. Captures every agent run, model step, tool call, and sub-agent. When a coordinator agent delegates to sub-agents exposed as tools, the sub-agent's full run nests under the parent tool span in one unified trace.

## February 2026

Expand Down
81 changes: 53 additions & 28 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,34 +25,6 @@
"group": "Tracing",
"pages": [
"tracing/introduction",
{
"group": "Integrations",
"pages": [
"tracing/integrations/overview",
"tracing/integrations/anthropic",
"tracing/integrations/openai",
"tracing/integrations/gemini",
"tracing/integrations/claude-agent-sdk",
"tracing/integrations/openai-agents-sdk",
"tracing/integrations/opencode",
"tracing/integrations/vercel-ai-sdk",
"tracing/integrations/langchain",
"tracing/integrations/deepagents",
"tracing/integrations/litellm",
"tracing/integrations/mastra",
"tracing/integrations/pydantic-ai",
"tracing/integrations/openrouter",
"tracing/integrations/browser-use",
"tracing/integrations/cohere",
"tracing/integrations/kernel",
"tracing/integrations/openhands-sdk",
"tracing/integrations/playwright",
"tracing/integrations/puppeteer",
"tracing/integrations/stagehand",
"tracing/integrations/skyvern",
"tracing/otel"
]
},
{
"group": "Tracing Structure",
"pages": [
Expand Down Expand Up @@ -130,6 +102,59 @@
}
]
},
{
"tab": "Integrations",
"groups": [
{
"group": "Overview",
"pages": [
"integrations/overview"
]
},
{
"group": "Agent frameworks",
"pages": [
"integrations/vercel-ai-sdk",
"integrations/claude-agent-sdk",
"integrations/openai-agents-sdk",
"integrations/pydantic-ai",
"integrations/langchain",
"integrations/deepagents",
"integrations/mastra",
"integrations/openhands-sdk",
"integrations/opencode"
]
},
{
"group": "LLM providers",
"pages": [
"integrations/openai",
"integrations/anthropic",
"integrations/gemini",
"integrations/cohere",
"integrations/openrouter",
"integrations/litellm"
]
},
{
"group": "Browser agents",
"pages": [
"integrations/browser-use",
"integrations/stagehand",
"integrations/playwright",
"integrations/puppeteer",
"integrations/skyvern",
"integrations/kernel"
]
},
{
"group": "OpenTelemetry",
"pages": [
"tracing/otel"
]
}
]
},
{
"tab": "Guides",
"pages": [
Expand Down
7 changes: 0 additions & 7 deletions integrations.mdx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Laminar automatically instruments the official Anthropic package with a single l
Then load them in your application using a package like [dotenv](https://www.npmjs.com/package/dotenv).

<Note>
Using Anthropic inside Next.js? The [Vercel AI SDK page](/tracing/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
Using Anthropic inside Next.js? The [Vercel AI SDK page](/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
</Note>

### 3. Initialize Laminar
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ Every new project ships with a **Failure Detector** Signal that categorizes issu
<Card title="Tracing structure" href="/tracing/structure/overview">
Sessions, metadata, and tags for deeper control.
</Card>
<Card title="OpenCode" href="/tracing/integrations/opencode">
<Card title="OpenCode" href="/integrations/opencode">
Running Claude Agent SDK alongside OpenCode? Trace both here.
</Card>
</CardGroup>
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ Every new project ships with a **Failure Detector** Signal that categorizes issu
<Card title="SQL editor and MCP server" href="/platform/sql-editor">
Query traces programmatically from the UI, API, or your IDE.
</Card>
<Card title="LangChain / LangGraph" href="/tracing/integrations/langchain">
<Card title="LangChain / LangGraph" href="/integrations/langchain">
Tracing raw LangChain chains or LangGraph without deepagents on top.
</Card>
</CardGroup>
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export LMNR_PROJECT_API_KEY=<your-laminar-project-api-key>
Laminar provides observability for Browser Use and Kernel, so if you host your Browser Use agents on Kernel,
you will get full observability of both the browser agent and the computer interactions.

[Full guide on browser-use integration](/tracing/integrations/browser-use)
[Full guide on browser-use integration](/integrations/browser-use)


```python {7-8, 11-16, 22, 49-50}
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions tracing/integrations/mastra.mdx → integrations/mastra.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -284,10 +284,10 @@ Every new project ships with a **Failure Detector** Signal that categorizes issu
<Card title="Tracing structure" href="/tracing/structure/overview">
Sessions, user IDs, metadata, and tags.
</Card>
<Card title="Vercel AI SDK" href="/tracing/integrations/vercel-ai-sdk">
<Card title="Vercel AI SDK" href="/integrations/vercel-ai-sdk">
Mastra uses the AI SDK under the hood. Using it directly? Trace it here.
</Card>
<Card title="OpenAI Agents SDK" href="/tracing/integrations/openai-agents-sdk">
<Card title="OpenAI Agents SDK" href="/integrations/openai-agents-sdk">
Python-first agent framework with similar multi-agent shape.
</Card>
</CardGroup>
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Laminar automatically instruments the official OpenAI package with a single line
Then load them in your application using a package like [dotenv](https://www.npmjs.com/package/dotenv).

<Note>
Using OpenAI inside Next.js? The [Vercel AI SDK page](/tracing/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
Using OpenAI inside Next.js? The [Vercel AI SDK page](/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
</Note>

### 3. Initialize Laminar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ Every new project ships with a **Failure Detector** Signal that categorizes issu
<Card title="Tracing structure" href="/tracing/structure/overview">
Sessions, metadata, and tags for deeper control.
</Card>
<Card title="Claude Agent SDK" href="/tracing/integrations/claude-agent-sdk">
<Card title="Claude Agent SDK" href="/integrations/claude-agent-sdk">
Running OpenCode alongside Claude Agent SDK? Trace both here.
</Card>
</CardGroup>
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Laminar automatically instruments the OpenAI SDK. If you set the OpenAI SDK base
Then load them in your application using a package like [dotenv](https://www.npmjs.com/package/dotenv).

<Note>
Using OpenRouter inside Next.js? The [Vercel AI SDK page](/tracing/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
Using OpenRouter inside Next.js? The [Vercel AI SDK page](/integrations/vercel-ai-sdk#nextjs-setup) covers the Next.js-specific setup (`serverExternalPackages`, `instrumentation.ts`, and `Laminar.patch` for direct SDK clients).
</Note>

### 3. Initialize Laminar and OpenAI
Expand Down
Loading