Skip to content

Remove clientOptions.apiKey from the LangGraph adapter, and draft the runtime comparison post - #1100

Merged
blove merged 5 commits into
mainfrom
blove/agent-ui-runtime-blog-027aec
Sep 16, 2026
Merged

blove merged 5 commits into
mainfrom
blove/agent-ui-runtime-blog-027aec

Conversation

@blove

@blove blove commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Two commits.

1. feat(langgraph)!: clientOptions.apiKey is gone, defaultHeaders is added.
A deployment credential passed from Angular ships in the bundle, so the adapter no longer offers a field for one. The SDK client is always built with an explicit null key, so it never reads a key from the environment either. defaultHeaders carries a per-user session token for LangGraph custom auth. The cockpit's LangSmith target (the one real consumer) forwards its key as the SDK's own x-api-key header. Deployment guide, provide-agent reference, generated API docs, and CHANGELOG updated.

2. docs(blog): "Why Do Agent UI Libraries Require a Runtime?" is published in this PR (a third commit flips draft: false).
A comparison of the Vercel AI SDK, TanStack AI, assistant-ui, CopilotKit, and Threadplane on twenty-four rows, every cell verified against primary sources on 2026-09-15, with inline links throughout. Names competitors on Brian's instruction for this post only. The voice guide gains a rule against structural narration.

Breaking change

LangGraphClientOptions.apiKey no longer exists. Migrate a session token to clientOptions.defaultHeaders; keep deployment keys on an endpoint you own and point apiUrl at it.

Verification

  • nx test langgraph, nx test cockpit-telemetry: pass
  • nx build and nx lint for both libs: pass, 0 lint errors
  • nx type-tests langgraph: pass; removing the @ts-expect-error in the new type-spec produces exactly one error (negative control)
  • npm run generate-api-docs: regenerated, apiKey absent
  • Website copy-contract, blog, and docs-content-rules specs: pass; MDX compiles
  • Every internal link in the post resolves to a docs page or blog slug; every external link fetched (npmjs returns 403 to bots, fine for readers)

Not in this PR

An AG-UI deployment/auth guide is being written in a separate session (spawned task).

🤖 Generated with Claude Code

blove and others added 2 commits September 15, 2026 21:01
A deployment credential passed from Angular ships in the browser bundle,
so the adapter no longer offers a field for one. LangGraphClientOptions
drops apiKey and gains defaultHeaders, the per-user session-token path
for LangGraph custom auth. The SDK client is always constructed with an
explicit null key so nothing is read from the environment either.

The error-redaction seam now keys on configured headers. The cockpit's
LangSmith runtime target forwards its key as the SDK's own x-api-key
header. A *.type-spec.ts guard pins the absence of apiKey at compile
time, since vitest specs are never typechecked. Deployment guide,
provide-agent reference, and generated API docs updated.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A source-verified comparison of the Vercel AI SDK, TanStack AI,
assistant-ui, CopilotKit, and Threadplane on twenty-four rows, with the
runtime question answered row by row. Ships as draft: true. The voice
guide gains a rule against structural narration and stagey fragments.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 16, 2026 5:06am UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

…trim the post description

The docs binding spec still expected the removed apiKey member, and the
new post's description exceeded the 160-character search-snippet budget.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit b168583 into main Sep 16, 2026
77 checks passed
@blove
blove deleted the blove/agent-ui-runtime-blog-027aec branch September 16, 2026 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant