Commit Graph

716 Commits

Author SHA1 Message Date
Benjamin Taylor 1c92a69f58 fix(links): point cloud.copilotkit.ai web links at the Intelligence dashboard
New users were still discovering cloud.copilotkit.ai through docs pages,
the README, example READMEs, and in-app banners/console messages. Replace
all user-facing web links with dashboard.operations.copilotkit.ai (the
destination the marketing-site CTAs already use). Functional API endpoints
(api.cloud.copilotkit.ai) are deliberately untouched since existing cloud
customers depend on them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 11:20:44 -05:00
cogwirrel 24b981de16 docs(aws-strands): add Python/TypeScript tabs to code examples
The @ag-ui/aws-strands TypeScript adapter ships alongside the Python
ag_ui_strands package but the docs only showed Python snippets. Add a
TypeScript tab next to every Python snippet (Python default, `persist`
on the tab group so a reader's choice sticks across pages) covering:

- quickstart: project init, install, agent file, run command
- frontend-tools: @tool stub + createStrandsApp server
- shared-state (read + write): StrandsAgentConfig.stateContextBuilder
- generative-ui tool-rendering: backend tool definition
- generative-ui state-rendering: ToolBehavior.stateFromArgs

Also applied to the parallel showcase/shell-docs tree. Non-code pages
(deploy-agentcore, copilot-runtime, inspector, etc.) remain untouched
since they either re-export shared snippets or have no framework code.
2026-05-28 01:03:02 +00:00
Austin Merrick 4aa3846df7 docs: repoint stale /coding-agents references in middleware
CR round 1 caught two middleware redirects still targeting the
pre-rename /coding-agents slug:
- /coding-agent-setup → /coding-agents (now → /build-with-agents)
- per-framework vibe-coding-mcp → coding-agents (now → build-with-agents)

Both produced a 2-hop 308 chain through next.config.mjs after the
rename. Repointing them directly to /build-with-agents collapses the
chain.

Also adds a trailing newline to langgraph/build-with-agents.mdx for
consistency with the other 13 build-with-agents.mdx files.
2026-05-20 08:58:04 -07:00
Austin Merrick d7b3f26681 docs: rename coding-agents to build-with-agents
Prep for OSS-133 — lands the unblocked routing + sidebar pieces while
the content rewrite waits on the copilotkit/skills monorepo migration.

- Rename /coding-agents → /build-with-agents (root + 13 integrations)
- Retitle "Coding Agents" → "Build with agents"
- Add 14 permanent redirects from old routes
- Repoint 11 existing /mcp and /vibe-coding-mcp redirects
2026-05-19 16:30:23 -07:00
Austin Merrick 16f9aa2de0 docs: move React Native out of Getting Started into Platforms
Surface React Native alongside any future platform docs instead of
mixing it with framework-agnostic onboarding.
2026-05-19 16:29:59 -07:00
Austin Merrick 784b365d4f feat(react-core): forward followUp option through useComponent 2026-05-18 10:53:20 -07:00
Nathan 🔶 Tarbert 0b6460a192 chore: align A2UI integration docs with v0.9 SDK helpers
The Python A2UI SDK (sdk-python/copilotkit/a2ui.py) exposes v0.9 helpers
create_surface, update_components, and update_data_model, but the
integration docs still referenced earlier names (surface_update,
data_model_update, begin_rendering) and the corresponding wire-format
op keys (surfaceUpdate, dataModelUpdate, beginRendering). The frontend
renderer (A2UIMessageRenderer) routes operations by the v0.9 keys, so
the docs as written would not round-trip through the runtime.

Updates 9 mdx files under integrations/{deepagents,langgraph,a2a}:
- Python helper names in code snippets
- Op keys in prose and TS action-handler return values
- Reorders operations so createSurface comes first (no trailing
  beginRendering)
- a2a example: renames the root component id from "root-column" to
  "root" per the v0.9 catalog convention (exactly one component must
  have id="root")

No SDK or runtime changes.
2026-05-14 12:49:15 -04:00
Sam Julien 62facacee1 feat(quickstart): add platform signup as Step 1 across integration quickstarts
Every integration quickstart in docs/ and showcase/shell-docs/ now opens with
a "Create a free account" step that points the reader at the Enterprise
Intelligence Platform before the framework path. Existing top-of-page
<OpsPlatformCTA> blocks on the six integrations that already had one are
left in place.

- New <SignupLink surface="docs_<int>_quickstart_step1">…</SignupLink> MDX
  component in both apps. It mirrors OpsPlatformCTA's URL+UTM contract
  (https://dashboard.operations.copilotkit.ai/ with the canonical docs
  UTMs, picked up from NEXT_PUBLIC_INTELLIGENCE_SIGNUP_URL when set) and
  fires the same PostHog event the other CTAs use:
  posthog.capture("try_for_free_clicked", { location: surface }).
- Registered as an MDX global in:
    docs/app/integrations/[[...slug]]/page.tsx
    docs/app/(home)/[[...slug]]/page.tsx
    showcase/shell-docs/src/lib/mdx-registry.tsx
- All 28 integration quickstart .mdx files now lead with a Step that uses
  this component as an inline link inside a single sentence of prose —
  no CTA card inside <Steps>.

The <TailoredContent> "Choose your starting point" / "How do you want to
get started?" selector is now wrapped in its own <Step> so it advances
the counter, and the inner CLI/manual paths render as steps 3, 4, 5, …
instead of 2, 3, 4, …. Applies to all 20 quickstarts that use the
picker.

- Indigo→purple gradient text on the Step 1 heading on both surfaces
  (`.fd-steps > .fd-step:first-child h3` on docs/,
  `.docs-steps > div:first-child h3` on shell-docs). Direct-child
  combinator scopes it to the outer first Step so inner first-children
  inside TailoredContentOption don't pick it up. Bump weight to 700
  and font-size to 1.375rem on docs/ to compensate for the
  background-clip:text rendering path (grayscale AA, no solid fill)
  which makes glyphs look lighter/smaller than the adjacent solid
  600/20px headings.
- Tone down the selected TailoredContent option card on both surfaces
  to a near-grayscale wash (from-slate-50 → to-indigo-50/30) and
  shorten the card itself (smaller padding, smaller icon, smaller
  title; extra left padding for breathing room) so the picker takes
  less vertical space and doesn't compete with the Step 1 gradient
  heading. Indigo ring still does the "selected" signal.
- Bump the tablist's bottom margin in shell-docs (my-2 → mt-2 mb-6)
  so the gap between the picker and the first inner Step matches the
  1.5rem gap that every other consecutive-Step transition uses.
- Black SignupLink color in Step 1 on shell-docs so the link doesn't
  clash with the gradient heading above it.
- Shell-docs: reset margin-top on the first heading inside any Step so
  the badge and heading align, and nudge the badge top from -0.125rem
  to 0.1875rem so its vertical center matches the heading line center.
  Moved the badge's appearance (background/border/color/font-weight)
  out of inline style and into globals.css so :first-child overrides
  can win without fighting inline-style specificity.
2026-05-13 11:38:29 -07:00
Martha Schumann 6c07bf17a6 docs(telemetry): consolidate opt-out instructions to single env var
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann 6a9538b5e7 docs(telemetry): remove inaccurate telemetryDisabled flag claim
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann 7f791238dc docs(telemetry): remove unused snippet and inspector-specific section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann 4cfdf9f5be docs(telemetry): remove implementation detail from inspector section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann d4062020be docs(telemetry): remove premature posthog_distinct_id URL param docs
Per Ben Taylor: leave the CTA link URL param for later. Removing the
paragraph describing it from the docs until the approach is confirmed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann fa75abf23c fix(inspector/telemetry): address code review findings
- Don't fire banner_clicked on copy-button clicks (move track call to
  the non-copy-button branch of handleAnnouncementContentClick)
- Defer ensureTelemetryDistinctId() to runtime connection so no UUID
  is written to localStorage when COPILOTKIT_TELEMETRY_DISABLED is set
- Remove setTelemetryOptOut re-export from telemetry.ts (no production
  caller; tests already import directly from persistence.ts)
- Fix docs: replace Privacy tab toggle description with env var opt-out

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Martha Schumann db17476883 fix(inspector): update wire body shape + typed helpers + full test coverage (OSS-96)
- Move `package` from properties string to top-level `{ name }` object per
  Ben's confirmed IngestPayload schema (telemetry-sink-ingest/index.ts:127-134)
- Add typed per-event helpers trackBannerViewed/trackBannerClicked/trackThreadsTabClicked
  to enforce property shapes at call sites and prevent PII leakage under wrong keys
- Add trackBannerClickedOnce guard in index.ts (per-mount Set keyed by
  banner_id + cta) to prevent banner_clicked inflation on repeated clicks
- Fix handleTelemetryOptOutToggle: replace ?? true fallback with
  instanceof HTMLInputElement guard (wrong fallback was a privacy bug)
- Add threadsTabClicked re-selection guard (skip if already on threads tab)
- Replace getTelemetryDistinctIdForUrl() call on mount with ensureTelemetryDistinctId()
- Add inMemoryFallbackId in persistence.ts for funnel coherence when
  localStorage is unavailable (same UUID returned per page load)
- Add _resetTelemetryPersistenceForTesting() for test isolation
- Remove @copilotkit/shared dep from telemetry-disclosure.ts (inline
  env-var check; keeps module self-contained and testable in isolation)
- Add clearMocks: true to web-inspector vitest config (fixes spy call
  history accumulating across tests)
- Expand telemetry.test.ts to 22 tests covering wire body shape, opt-out,
  5 error-resilience paths, typed helpers, distinct ID lifecycle (SSR +
  localStorage-throws + funnel coherence), maybeShowDisclosure, and
  getTelemetryDistinctIdForUrl

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:43:17 -05:00
Claude 7914275c99 feat(inspector): add anonymous interaction telemetry (OSS-96)
Three V1 funnel events from the inspector — oss.inspector.banner_viewed,
oss.inspector.banner_clicked, oss.inspector.threads_tab_clicked — plus a
privacy panel for opt-out, a first-run console disclosure on inspector
mount and runtime startup, and inspector content added to the canonical
/telemetry docs page on main.

Inspector POSTs directly from the browser to telemetry.copilotkit.ai/ingest
(per ticket: URL is intentionally clearly named for transparency in DevTools).
Inline fetch POST in lib/telemetry.ts — no @copilotkit/shared dep on the
inspector, no dependency on any non-main branch.

Wire body shape (conservative; needs Ben confirmation):
  POST https://telemetry.copilotkit.ai/ingest
  { event, properties: { ...caller, distinct_id, package }, ts }
If the lambda expects a richer envelope, update the single JSON.stringify
in lib/telemetry.ts.

Privacy invariants:
- Opt-out toggle short-circuits before any network call (verified by test).
- Properties are scoped to event metadata only — no message content, agent
  state, prompts, completions, banner markdown. Negative test pins the wire.
- Anonymous distinct ID (UUID v4 in localStorage) set on inspector load and
  propagated onto banner CTA links as ?posthog_distinct_id=<uuid> so the
  destination site can posthog.alias() and close the
  banner_viewed → banner_clicked → signup_attributed funnel. URL param
  suppressed when opted out.
- Console disclosure on first inspector mount and runtime startup. Both
  link to https://docs.copilotkit.ai/telemetry.

Plan gaps addressed:
- CTA name on banner_clicked: cta:'body'|'dismiss' (click location) plus
  optional cta_label read defensively. Sam: confirm dismiss treatment.
- De-anon opt-out folded into the single toggle. Docs say so explicitly.
- banner_viewed dedup: per-instance Set<string> keyed by timestamp.
- EPIC consent / pixel review: out of scope for this PR; flagged at merge.

Deferred for V1.1:
- Wire body shape (Ben).
- Event-type allowlist for oss.inspector.* (Ben — oss-path-to-production).
- posthog_distinct_id URL-param key name (Ben/Tyler/website team).

Refs https://linear.app/copilotkit/issue/OSS-96
2026-05-11 15:43:17 -05:00
Martha Kelly Schumann d2840ff80c Docs(Programmatic Control): Added missing agentId, fixed imports and useEffect (mirror of #4430) (#4450)
Mirror of #4430 by @MalaikaAbb.

Adds an agentId note for non-default agents, replaces `agent.id` with
`agent.agentId`, corrects the `@copilotkit/shared/v2` import to
`@copilotkit/shared`, and adds the missing `[agent]` dependency to a
useEffect.
2026-05-11 13:29:12 -07:00
Martha Kelly Schumann 5da2a66815 Merge branch 'main' into docs(deepagents)/removed-checkpointer-in-python 2026-05-11 08:07:54 -07:00
Benjamin Taylor 84c029529d docs: remove old low-level threads/persistence pages superseded by useThreads
The /langgraph/advanced/persistence/* and /crewai-flows/persistence/* pages
documented the older threadId/setThreadId mechanism. They're replaced by the
useThreads-based /langgraph/threads and /crewai-flows/threads pages backed by
the shared threads snippet.

Adds redirects from the deleted paths (and their legacy /langgraph/persistence
aliases) to the new framework-scoped /threads pages, and drops "persistence"
from the crewai-flows sidebar.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:04:14 -05:00
Martha Kelly Schumann 4daf07f5c6 Merge branch 'main' into docs(deepagents)/removed-checkpointer-in-python 2026-05-09 07:41:03 -07:00
Sam Julien 31721e813a docs(genui): link to DeepLearning.AI Generative UI course
Adds a Callout linking to "Build Interactive Agents with Generative UI"
(free DeepLearning.AI short course) on the two Generative UI overview
pages and the six lesson-specific pattern pages (display-only,
tool-rendering, state-rendering, open-generative-ui, a2ui, mcp-apps),
mirrored across docs/ and showcase/shell-docs/.
2026-05-07 14:28:31 -07:00
Jordan Ritter 36505a50a6 docs: add agent-facing footer with MCP server and Pathfinder links
Add a subtle footer to the docs root page with MCP server,
llms.txt, and Pathfinder URLs. Visible to humans but designed
for AI agents that hit the root docs page.
2026-05-07 12:53:17 -07:00
Markus Ecker 79fb5af452 Merge remote-tracking branch 'origin/main' into mme/register-proxied-agent
# Conflicts:
#	packages/react-core/src/v2/hooks/__tests__/use-agent-thread-isolation.test.tsx
#	packages/react-core/src/v2/hooks/use-agent.tsx
#	packages/web-inspector/src/styles/generated.css
2026-05-07 14:20:55 +02:00
Jordan Ritter 164897647e feat: add @copilotkit/react-native package (#3633)
## Summary

- Extract `CopilotKitContext` and `useCopilotKit` into standalone
`context.ts` in react-core, enabling cross-platform reuse without web
dependencies
- Add new `@copilotkit/react-native` package with lightweight provider,
polyfills, and streaming fetch
- All hooks (`useAgent`, `useFrontendTool`, `useHumanInTheLoop`, etc.)
are re-exported directly from react-core — no reimplementation

## Motivation

CopilotKit's React hooks are platform-agnostic, but the barrel import in
`@copilotkit/react-core` pulls in web-only dependencies (Radix UI, Lit,
A2UI renderer, react-dom, CSS). This makes the package unusable in React
Native without extensive Metro shimming.

By extracting the React context into a standalone entry point
(`@copilotkit/react-core/v2/context`), the new
`@copilotkit/react-native` package can provide its own lightweight
provider while reusing all existing hooks.

## What's in `@copilotkit/react-native`

| Export | Description |
|--------|-------------|
| `CopilotKitProvider` | Lightweight provider — no DOM, CSS, Radix, Lit,
or A2UI deps |
| `installStreamingFetch()` | XHR-based streaming fetch for
`response.body.getReader()` support |
| `@copilotkit/react-native/polyfills` | All polyfills at once
(ReadableStream, TextEncoder, crypto, DOMException, window.location) |
| `@copilotkit/react-native/polyfills/*` | Granular per-polyfill imports
(`/streams`, `/encoding`, `/crypto`, `/dom`, `/location`) for users who
need to avoid overriding their own shims |
| `useAgent`, `useFrontendTool`, etc. | Re-exported from react-core
(shared context) |

## Usage

```tsx
// index.js (entry point, before other imports)
import "@copilotkit/react-native/polyfills";
import { installStreamingFetch } from "@copilotkit/react-native";
installStreamingFetch();

// App.tsx
import { CopilotKitProvider, useAgent, useCopilotKit } from "@copilotkit/react-native";

function App() {
  return (
    <CopilotKitProvider runtimeUrl="https://your-server/api/copilotkit">
      <ChatScreen />
    </CopilotKitProvider>
  );
}
```

## Test plan

- [x] `nx run react-core:build` passes
- [x] `nx run @copilotkit/react-native:build` passes
- [x] `nx run react-core:test` — all 1153 tests pass
- [x] Manual test in React Native app (tested during development with
bare RN 0.84 project)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-06 16:46:38 -07:00
Maxim e9651b0c74 docs: add React Native documentation and package README
Package README with installation, polyfill setup, and quick start.
Docs page covering prerequisites, provider wrapping, granular
polyfills, known limitations, and troubleshooting.
2026-05-06 16:42:34 -07:00
MalaikaAbb 73c04f8b1f Docs(Deepagents): Removed Checkpointer in Python code snippet 2026-05-06 22:03:39 +05:00
Markus Ecker 77dab3766a refactor(core,docs): rename ProxiedCopilotRuntimeAgent.remoteAgentId → runtimeAgentId
Renames the proxy-config field, the field on the agent instance, and
all matching references in tests and the useCopilotKit reference page.
"runtime" reads more naturally now that the proxy concept is documented
as "a local agent that delegates to a runtime agent" rather than
"remote agent" — the latter conflates with `remoteAgents` (the
registry of agents fetched from the runtime), which keeps its name.

No behavioral change; the field still controls the outbound REST URL
used by the proxy.
2026-05-06 11:46:44 +02:00
Benjamin Taylor 073ba8cfb9 docs(threads,self-hosting): polish prose and bump version requirement
Threads pages: drop @copilotkit/cli-vnext alias for the canonical
@copilotkit/cli, bump react-core minimum from v1.50 to v1.56, and trim
the redundant "(via Copilot Cloud or self-hosted)" parenthetical from
the Prerequisites bullets.

Self-hosting snippet: restructure the "What is this?" intro into a
labeled "What you bring" / "What the chart deploys" pair (with a
component table for ports), tighten the kubeconfig-check sentence, and
collapse the local-validation Callout into two parallel options (bundled
overlay vs one-shot script). Drop the "If none of these apply, use
Copilot Cloud" line — readers who land on /premium/self-hosting have
already opted in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 05:28:48 -07:00
Dusty d0493f3d0d docs(self-hosting): fix chart name/version/secrets and add
local-validation path
2026-05-05 05:28:48 -07:00
Benjamin Taylor 0ada76b9ac docs: add Intelligence CTAs to restored threads pages
The Threads, Intelligence Platform explainer, multi-conversation
tutorial, useThreads reference, and the shared threads snippet were
restored at their pre-rollout state, so they carried no OpsPlatformCTA
while peer pages picked one up earlier on this branch. Wires each
restored page to the new try_for_free_clicked event with snake_case
surface identifiers, and fixes the "a Enterprise" → "an Enterprise"
article mismatch the rebrand left in both self-hosting pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 05:28:17 -07:00
Sam Julien d8c9d3cc8d docs: rebrand "CopilotKit platform" → "Enterprise Intelligence Platform"
Renames the platform name across docs prose, CTA copy, frontmatter
descriptions, and the Learn landing card. Three patterns were collapsed
into one canonical form:

  - "CopilotKit platform" → "Enterprise Intelligence Platform"
  - "CopilotKit Intelligence Platform" → "Enterprise Intelligence Platform"
  - "Intelligence Platform" → "Enterprise Intelligence Platform"

URL slugs (/learn/intelligence-platform, /premium/intelligence-platform)
are intentionally unchanged. The CTA component button label
("Get Intelligence free") is also unchanged.
2026-05-05 05:28:17 -07:00
Sam Julien 500ac594fa docs: drop early-access password gate from threads pages
The ThreadsEarlyAccess wrapper hid Threads, the multi-conversation
tutorial, useThreads, and the shared snippet behind a client-side
password splash. Threads is now generally available, so remove the
wrapper from the five MDX entry points, drop the component, and unwire
the MDX registry entries in the home and integrations route handlers.
2026-05-05 05:28:17 -07:00
Sam Julien e7faf1d1df Revert "docs: remove Threads + Intelligence Platform docs"
This restores the Threads management surface (useThreads hook, the
multi-conversation tutorial, per-integration Threads how-tos, the
shared snippet), the Intelligence Platform / self-hosting pages, and
the sidebar entries that were dropped in b08da7970.

This reverts commit b08da79700.
2026-05-05 05:28:17 -07:00
Tyler Slaton 760fc65187 feat(docs): scope sidebar to /learn with header + Overview landing
Add a Learn-only sidebar mode that mirrors how /reference works: when a user
is under /learn, the framework picker is hidden and the sidebar shows only
learn content (What's New, Agentic Protocols, Generative UI, Specs,
Architecture, Tutorials).

- Add `learn` to the root meta.json so the learn folder is discoverable in
  the page tree (was missing, which is why ConditionalSidebar previously
  fell through to the default sidebar on /learn routes)
- Add a static LearnHeader (book icon + "Learn") visually matching the
  Reference version selector, wired in via Sidebar's headerSlot
- Rename the learn index page title to "Overview" so the landing page reads
  cleanly under the new header
- Drop the redundant `h-6` spacer in Sidebar — every header component
  (IntegrationSelector, VersionSelector, LearnHeader) already supplies its
  own `mb-3`, and the spacer was producing a 24px phantom gap on /learn
  while collapsing to 0 on /reference under flex shrink

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-04 20:49:48 -07:00
Sam Julien fabaedc705 docs(cta): align analytics event with website naming scheme
Renames the docs CTA tracking event from `cta_clicked` to
`try_for_free_clicked` to match the per-event custom event names used
on the marketing website, and uses a single `location` string property
in place of the previous `surface` / `variant` / `target` / `page_path`
shape. Surface identifiers are normalized to underscored snake_case to
match the location values already used on the website.

Same change applies to the docs navbar handler that fires when a
visitor clicks the Free Developer Access link.
2026-05-04 08:27:02 -07:00
Sam Julien e03302df50 docs(cta): extend prebuilt-components and Built-in Agent placements
Adds a sign-up CTA to the shared `prebuilt-components` snippet so it
appears on all twelve per-integration `/{framework}/prebuilt-components`
pages that consume it, and adds a matching CTA to the LangGraph
prebuilt-components page (which uses custom content rather than the
shared snippet).

Moves the Built-in Agent overview CTA from below the features grid to
above the first H2 so it lands above the fold on standard viewports.
2026-05-04 10:00:44 -05:00
Sam Julien 4e98ba805d docs(quickstart): rewrite CLI walkthrough across framework starters
Replaces the framework-specific `npx copilotkit@latest create -f <fw>`
command with the interactive `npx copilotkit@latest create` flow on the
eight framework quickstarts that have a CLI scaffold (ADK, Agno, AWS
Strands, LangGraph, LlamaIndex, Mastra, Microsoft Agent Framework,
Pydantic AI).

Each quickstart's "Run our CLI" step now describes the three prompts
the CLI walks the user through — project name, the platform Yes/No
question (with a sign-up link to the dashboard), and the framework
choice. Framework labels match the strings rendered by the CLI's
interactive select-input so the docs stay aligned with the runtime
prompt.

Drops the per-language Tabs blocks on LangGraph and Microsoft Agent
Framework since the language variant is now picked through the CLI
prompt rather than encoded as a flag.
2026-05-04 10:00:44 -05:00
Sam Julien c0fa02703c docs: add sign-up CTAs across documentation
Places dashboard sign-up CTAs on topical pages, threads guides,
reference pages, and integration overview pages. Each CTA is tagged
with a stable surface identifier for PostHog attribution and routes to
the dashboard with matching UTM parameters.

Placements include:
- Home and quickstart landing pages
- Prebuilt-components, shared-state, and chat-related reference pages
- Threads how-to, tutorial, reference, and per-integration threads pages
  (via the shared snippet)
- Inspector, event-inspector, and learning explainer pages
- Premium overview, observability, headless-ui, and self-hosting pages
  (via the shared snippets)
- Integration overview pages — placed via the new afterFeatures slot on
  the four FrameworkOverview-based pages (LangGraph, ADK, AWS Strands,
  Microsoft Agent Framework) and below the features grid on Built-in
  Agent
- Manual-setup quickstart pages (a2a, ag2, agent-spec, built-in-agent,
  crewai-flows, deepagents)

Also normalizes platform copy across the affected pages.
2026-05-04 10:00:44 -05:00
Markus Ecker b56773d644 docs(reference): document copilotkit.registerProxiedAgent
Adds a "Registering a Proxied Agent" section to the useCopilotKit reference
page. Covers the React pattern (useEffect + unregister cleanup), the
local-id vs remote-id contract, parameter and return-value reference, and
a per-chat-window example showing two ChatWindow instances backed by the
same runtime agent.
2026-05-04 14:06:12 +02:00
Benjamin Taylor b08da79700 docs: remove Threads + Intelligence Platform docs
Removes the unreleased Threads management surface (useThreads hook,
multi-conversation tutorial, the per-integration Threads how-to, the
shared snippet) and the Intelligence Platform / self-hosting pages
introduced alongside them, plus the ThreadsEarlyAccess gate that wrapped
them. The Learn landing page stays; just drops the Threads card and the
Intelligence Platform card. Sidebars (root, learn, reference/v2/hooks,
12 integrations + their premium subsections) are pruned to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 14:56:51 -07:00
claudebot eedc57abfd Apply PR #4430 2026-04-29 19:07:42 -07:00
Martha Kelly Schumann 372bb31e51 Merge branch 'main' into docs/CPK-7187-add-deepagents-section-to-docs 2026-04-29 09:00:24 -07:00
Tyler Slaton 0d70378193 docs(agentcore): add AWS AgentCore integration docs (#3586)
This PR draft documentation to the question: What do I need to do if I
want to add CopilotKit after deploying agent to AgentCore following this
guide
[here](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-agui.html)

So basically, following the guide linked, wanting CopilotKit, "Now
what?"
2026-04-28 20:30:33 -07:00
Benjamin Taylor 08d94575c2 docs(threads): split /threads into CLI quickstart + manual paths
Restructure /threads using TailoredContent so users pick between
bootstrapping a new project with the v-next CLI or wiring threads
into an existing CopilotKit app. The CLI path walks through
`npx -y @copilotkit/cli-vnext@latest create`, enabling Intelligence
when prompted, cd-ing into the project, installing deps, adding the
OpenAI key, and `npm run dev` (which boots the local Intelligence
Platform, BFF, and web app at localhost:3000). The manual path
preserves the original 4-step flow (runtime config, useThreads,
thread switching, pagination).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 14:25:48 -05:00
Ran Shemtov cfd8ec51c2 Merge branch 'main' into claude/add-stateschema-export-DtPiG 2026-04-27 15:15:43 +02:00
Martha Schumann e9da2fd3a9 docs(CPK-7187): drop broken Vite + Direct Connection path, keep LangChain guide link
The Vite + Direct Connection alternative and the matching Step 7
"LangGraph with custom route" tab walked users through a path that
doesn't actually run end-to-end. Verified via test drive: three stacked
failures in the Python SDK (missing v2 JSON-RPC envelope handler in
`add_fastapi_endpoint`; broken `LangGraphAGUIAgent.dict_repr` calling a
`super().dict_repr` that doesn't exist; `LangGraphAGUIAgent` missing
the `.execute` method that `CopilotKitRemoteEndpoint.execute_agent`
dispatches to, since its parent `ag_ui_langgraph.LangGraphAgent` only
exposes `.run(RunAgentInput)`).

Rather than ship docs that walk through a broken path, delete it:

- Remove the `<Tab value="LangGraph with custom route">` from Step 7
  and Step 10; both Tabs go back to `['Deep Agent', 'FastAPI']`.
- Remove the entire "Alternative: Vite + Direct Connection" section.
- Rewrite Step 7's "Using Next.js is optional" callout so it no longer
  references the (now deleted) in-page anchor; it now points only at
  LangChain's CopilotKit integration guide, which is where Christian
  Bromann's original feedback pointed as the canonical reference for
  the custom-route path.

Net effect: Christian's feedback is still addressed — Next.js is
explicitly flagged as optional and users are pointed at the working
upstream guide — without us becoming the maintainer of a parallel
path that doesn't currently work. Direct-connect can be re-added to
the docs once the Python SDK gains a v2 envelope handler and the
`LangGraphAGUIAgent.execute` adapter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:12:22 -07:00
Martha Schumann 722a388c89 docs(CPK-7187): fix Deep Agents quickstart render callback + add port-conflict callout
Two small fixes from E2E test-driving the quickstart:

- Step 9's `useDefaultRenderTool` render callback destructured `args`,
  but the SDK exposes `parameters`. The TS example didn't typecheck
  as written. Swap to the correct prop name.
- Step 10 ("Start your agent") now has a short callout telling users
  what to do if port 8123 is already taken (change `--port` and update
  `LANGGRAPH_DEPLOYMENT_URL` in Step 7).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 13:45:27 -07:00
claudebot 78a4686991 Apply in-scope subset of PR #4269 2026-04-24 11:13:53 -07:00
Claude daee6e4432 docs(CPK-7187): point Deep Agents feature-viewer embeds at /langgraph/ path
The feature-viewer dojo doesn't currently serve /deepagents/feature/*
routes, so every IframeSwitcher in the Deep Agents docs was rendering
a 404 and the landing page 'Features' link broke.

Swap all 25 references across 10 files from /deepagents/feature/ to
/langgraph/feature/. The rendered demos are content-equivalent since
Deep Agents is LangChain-based, so the user experience is unchanged
from what we'd eventually serve under /deepagents/.

Also drops a TODO comment above each IframeSwitcher / FrameworkOverview
so the swap is easy to reverse once the dojo supports the correct path.

Files touched: index, frontend-tools, generative-ui/{state-rendering,
tool-rendering, your-components/{interrupt-based, interactive}},
shared-state/{predictive-state-updates, in-app-agent-write,
in-app-agent-read}, human-in-the-loop/interrupt-flow.
2026-04-24 18:12:55 +00:00
Claude 361008a388 docs(CPK-7187): wrap Deep Agents quickstart TS tool with tool() + zod
The TypeScript 'Create your Deep Agent' example in the quickstart was
passing a bare `function getWeather(...)` into `tools: [getWeather]`,
which does not type-check against createDeepAgent — from
libs/deepagents/src/types.ts in deepagentsjs:

  tools?: TTools | StructuredTool[];
  // TTools extends readonly (ClientTool | ServerTool)[]

Bare functions aren't in the union. (Python auto-wraps via type hints +
reflection; TS doesn't.) A copy-paster would hit a type error at best and
a non-functional tool at worst.

Wrap the example with tool(handler, { name, description, schema }) from
langchain plus a zod schema — the same pattern used everywhere else in
this PR and in the official deepagentsjs examples/research/research-agent.ts.
2026-04-24 17:30:59 +00:00