Commit Graph

356 Commits

Author SHA1 Message Date
Sam Julien 157cdae574 docs(shell-docs): wording pass — replace 'showcase cell' references with generic phrasing 2026-04-23 12:12:32 -07:00
Sam Julien 7efe08ae8c fix(shell-docs): strip hand-written code fences from Styling sections on prebuilt-components pages
Resolves former priority item 5. The Styling sections on the chat, sidebar,
and popup prebuilt-component pages (base + unselected/) each had an inline
tsx code fence that duplicated styling patterns already covered on the
dedicated /custom-look-and-feel/{css,slots,headless-ui} pages. Per Atai's
directive that every code fence in shell-docs should be a showcase-linked
Snippet, not hand-written, removing these fences is the right move here.

Section headers, intro copy, and bullet links to the dedicated styling
pages are preserved — those are legitimate pointers.
2026-04-23 11:53:32 -07:00
copilotkit-devops-bot[bot] 3b0f20d3fd chore: docs sync from main — needs review (2026-04-23) 2026-04-23 18:21:01 +00:00
Sam Julien 97c112df55 fix(shell-docs): fill empty stylesheet import fence on reference index
The Styling section referenced "import the stylesheet once at your app
boundary" but the fenced block was empty, leaving users with nowhere
to copy from.
2026-04-23 10:30:52 -07:00
Sam Julien 779bb10236 fix(shell-docs): move docs scrollbar to viewport edge
Previously <main> was both the scroll container AND width-capped
(`flex-1 max-w-4xl px-8 py-10 overflow-y-auto`). The scrollbar
rendered at the capped column's right edge, parking it mid-viewport
with a blank gutter beside it.

Separate the concerns: <main> is now full-width with the scroll, and
an inner <div> caps the content width and owns the padding. Scrollbar
now lands at the viewport edge (or TOC's left edge on pages that
render the right-rail TOC).

Applies to the four docs entry points that shared this pattern:
the root overview, the /<framework> landing + scoped pages, the
/ag-ui route, and the shared DocsPageView used by scoped docs.
2026-04-23 10:30:52 -07:00
Sam Julien 8fc126066b fix(shell-docs): account for BrandNav border in docs container height
The four docs flex containers used `calc(100vh - 52px)` to subtract the
top nav, but BrandNav is 52px flex content + 1px bottom border = 53px.
The 1px undercount made body overflow by exactly 1px and produced a
document-level scrollbar on top of the inner <main>'s own scroll.

The reference route already uses `calc(100vh - 53px)`; this aligns the
other four layouts with that convention.
2026-04-23 10:30:52 -07:00
Sam Julien cab83d3c21 feat(shell-docs): port platform pages from upstream
Adds multimodal-attachments, runtime-server-adapter, and vs-code-extension
pages under a new ---Platform--- section in meta.json. threads.mdx was
already in place and left untouched. fumadocs-ui import lines are stripped
since shell-docs pulls components from its MDX registry instead.
2026-04-23 10:30:52 -07:00
Sam Julien 386accd457 chore(docs): drop unnecessary agentId specs in built-in agent examples
When the runtime registers an agent as default, CopilotKit hooks auto-select
it; passing agentId: "default" (or a stale "assistant" ID that isn't
actually registered) is noise. Applies to built-in-agent/shared-state.mdx
and unselected/shared-state.mdx across shell-docs and upstream.
2026-04-23 10:30:52 -07:00
Sam Julien 2783d1aa11 chore(docs): switch built-in agent model to openai:gpt-5.4-mini
Goal: fast 'wow that's fast' initial experience for users trying the
built-in agent. Sweeps shell-docs unselected/ and upstream built-in-agent/
so both trees match. Also collapses two mismatched GPT-4o rows in the
model-selection table into a single honest 'GPT-5.4 Mini' row.
2026-04-23 10:30:52 -07:00
Sam Julien c1a861d0dd docs(shell-docs): revert LangGraph agent to LangChain agent in prose
LangChain wants to be referred to as LangChain in docs; LangGraph is the
under-the-hood graph framework. Updates prose only — URLs, package names,
code identifiers, and LangGraph Studio/Platform product names are preserved.
Upstream docs/ already reflects this change; this brings shell-docs into
alignment so the next sync does not regress.
2026-04-23 10:30:52 -07:00
github-actions[bot] e94aa1d4e1 style: auto-fix formatting 2026-04-23 16:16:22 +00:00
Jordan Ritter 9bce821779 feat(shell-dashboard): Phase 3 dashboard honesty pass
Phase 3.0: Pre-flight verified — 34 e2e_smoke rows in PB (producer
gap from PR #4200 resolved).

Phase 3.1: Rename dashboard e2e subscription to e2e_smoke to match
ops producer key. Update formatLabel/formatTooltip dim unions.

Phase 3.2: Add per-integration L1-L4 LevelStrip with Up/Wired/Chats/
Tools badges. New subscriptions for agent, chat, tools, e2e_smoke.
Widen aggregateConnection to variadic. Tools n/a gate uses
integration.demos.some(d => d.id === "tool-rendering").

Phase 3.3: Retire HealthDot from per-feature cells (L1 Up badge in
strip replaces it). Drop smokeRow from per-cell rollup (Decision #7).
Rollup now uses [healthRow, e2eRow] only. First-ever green rollups
enabled (smokeRow was always null in production).

Phase 3.4: Remove QA column — drop LiveBadge QA, CellState.qa,
subscription, legend entry. No producer ever existed.

Phase 3.5: Docs four-glyph mapping: ok->checkmark, missing->middle
dot, notfound->cross, error->exclamation. Each DocState has a
distinct glyph and tone.

Phase 3.6: Legend rewrite — drop QA/Hosted, add L1-L4 strip docs,
expand docs row for four glyphs, rewrite ? footnote.

Phase 3.7: Add PackagesSection below starters grid. Extends
registry.json with packages array from shared/packages.json. CI
drift test ensures package set matches integration set.
2026-04-23 09:14:05 -07:00
Sam Julien 85046381df docs-sync(needs-review): sync from main (189c45fb4) [NEEDS REVIEW] (#4119)
⚠️ **Docs sync — MANUAL REVIEW REQUIRED**

This PR was auto-opened because the docs-sync script detected
showcase-local modifications overlapping with upstream changes.

The script attempted a best-effort 3-way merge:

- Where `git merge-file` produced a clean merge, the merged content was
written.
- Where `git merge-file` produced conflict markers, **upstream content
was written as-is** and showcase-local modifications were overridden.
**Manual review required.**

### Review items

```
Files where 3-way merge FAILED — upstream content written as-is, local modifications overridden. Manual review REQUIRED before merging this PR:
  - docs/snippets/shared/generative-ui/tool-rendering.mdx

Files auto-merged via 3-way merge (clean, no conflict markers — still worth a glance):
  - docs/content/docs/integrations/langgraph/generative-ui/state-rendering.mdx
```

### Source

- Upstream ref:
[`189c45fb4`](https://github.com/CopilotKit/CopilotKit/commit/189c45fb4)
- Workflow run:
https://github.com/CopilotKit/CopilotKit/actions/runs/24736203326

**Review before merging.** Auto-merge is intentionally disabled
for `needs-review` PRs — confirm the upstream-wins sections
preserve any intentional showcase-local divergence you want to
keep, then merge manually.
2026-04-23 08:48:05 -07:00
Sam Julien 467fcfe06e fix(shell-docs): restore stripped import lines in reference docs
The initial shell-docs content-import left 21 reference pages with missing
import statements: 8 component pages had empty `## Import` code fences, and
13 hook pages had `## Signature` fences whose leading `import { X } from
"@copilotkit/react-core/v2";` line was stripped.

This commit restores the import(s) in the Import and Signature fences only.
Usage examples and other code blocks are intentionally not touched.

- 8 components: fill empty Import fence with named (or default for
  CopilotChatView) import + styles.css side-effect import
- 13 hooks: prepend import line(s) at the top of the Signature fence.
  - useComponent: 3 imports (z, type ComponentType, useComponent)
  - useRenderTool: imports injected into both Wildcard and Named overload fences
  - useCopilotChatConfiguration: imports injected into both Provider and
    hook ### Signature subblocks
2026-04-23 08:34:37 -07:00
Sam Julien fe76378ca0 fix(shell-docs): hide TOC on integrations matrix page 2026-04-23 08:34:37 -07:00
github-actions[bot] a8b08ab49d style: auto-fix formatting 2026-04-23 08:34:37 -07:00
Sam Julien bc65153aa9 docs(shell-docs): add intro sentences before code examples that directly follow headings 2026-04-23 08:34:37 -07:00
Sam Julien 795b0a9115 fix(shell-docs): strip all hardcoded IntegrationGrid headings from MDX files 2026-04-23 08:34:37 -07:00
Sam Julien 4f7530002b fix(shell-docs): remove duplicate backend header on index page 2026-04-23 08:34:37 -07:00
Sam Julien cc4a22e6ed feat(shell-docs): add table of contents (TOC) support 2026-04-23 08:34:37 -07:00
Sam Julien 1644fb8422 fix(shell-docs): align index page card styles to site CSS variables 2026-04-23 08:34:37 -07:00
Sam Julien 224871e135 fix(shell-docs): move 'Choose your AI backend' heading into IntegrationGrid component 2026-04-23 08:34:37 -07:00
Sam Julien e36792d04b fix(shell-docs): hide IntegrationGrid on framework-scoped routes 2026-04-23 08:34:37 -07:00
Sam Julien 81dced2e8e docs(shell-docs): add bridging text between InlineDemo and gif on prebuilt component pages 2026-04-23 08:34:37 -07:00
Sam Julien 1ad171b620 docs(shell-docs): writing pass to remove em-dash overuse and fix hardcoded framework references
Replace em-dashes in prose across ~37 shell-docs files with appropriate
punctuation (colons, semicolons, commas, parens, periods). Also fixes a
hardcoded "LangGraph Python" reference in quickstart.mdx bridging text,
adds a user-friendly placeholder when no framework is selected on snippet
pages, and makes heading code font size proportional rather than fixed.
2026-04-23 08:34:37 -07:00
Sam Julien 824553b251 chore(showcase): update generated data and quickstart default integration
- Update registry.json, demo-content.json, status.json, constraints.json,
  docs-status.json across shell/shell-docs/shell-dojo
- Add integration="langgraph-python" default to quickstart InlineDemo so
  the base unscoped page shows a demo instead of being empty
2026-04-23 08:34:37 -07:00
Sam Julien b7090a5d07 feat(shell-docs): build real feature matrix, fix card underlines, add backend intro
- Replace FeatureMatrix stub with a real server-rendered table reading from
  registry — 17 integrations × 12 curated feature columns, sticky first column,
  ✓/— cells, integration names link to /{slug} landing pages
- Fix matrix links from /integrations/{slug} (404) to /{slug}
- Remove redundant "Feature comparison" section from index.mdx (FeatureMatrix
  was a stub pointing to same destination as IntegrationGrid)
- Add .reference-content .not-prose a rule to suppress underlines on card grids
  inside MDX without breaking prose link styling
- Add intro sentence to "Explore by AI backend" section
2026-04-23 08:34:37 -07:00
Sam Julien 9582d4770a fix(shell-docs): fix empty FeatureIntegrations and matrix 404
- Correct 3 mismatched feature IDs in MDX (generative-ui-tool-based ->
  gen-ui-tool-based, frontend-tools-sync -> frontend-tools, reasoning ->
  agentic-chat-reasoning) so FeatureIntegrations renders integration chips
- Remove stale 'matrix' from RESERVED_ROUTE_SLUGS (no app/matrix/ route exists)
- Replace broken /matrix links in IntegrationGrid and search-modal with /
  since the matrix lives in shell-dashboard, not shell-docs
2026-04-23 08:34:37 -07:00
Sam Julien 4873761c2e Merge branch 'main' into docs-sync/needs-review/189c45fb4-1776791837 2026-04-22 19:04:59 -07:00
Jordan Ritter 8db7b211a4 fix(shell-docs): resolve findFrameworksWithCell + SidebarLink scope type errors
Two pre-existing type errors from commit 9b05ed41 surfaced on main's
Docker build:

1. `unscoped-docs-page.tsx` imports `findFrameworksWithCell` from
   `@/lib/docs-render`, but the helper was only declared locally in the
   two page.tsx routes with a 1-arg signature (and referenced an
   undeclared `demos` in one case — dead code). Export a 3-arg shared
   version from docs-render.tsx that accepts the integration slug list
   and demo map as parameters (keeps the lib free of registry imports),
   drop the dead local in `[[...slug]]/page.tsx`, and rewire the live
   caller in `[framework]/[[...slug]]/page.tsx` through the shared
   export.

2. The Step-2 section cards on the overview call `<SidebarLink>`
   without the required `scope` prop. The prop was already ignored
   internally (destructured as `_scope`) so relaxing it to optional is
   the minimal fix and keeps the call-site intent documented.

`npm run build` in showcase/shell-docs now compiles cleanly.
2026-04-22 12:16:38 -07:00
Sam Julien 1d1ed63a6b Merge remote-tracking branch 'origin/docs-sync/needs-review/189c45fb4-1776791837' into docs-sync/needs-review/189c45fb4-1776791837 2026-04-22 11:23:14 -07:00
Sam Julien 8e2c4c3488 Merge remote-tracking branch 'origin/main' into docs-sync/needs-review/189c45fb4-1776791837
# Conflicts:
#	showcase/shell-docs/src/content/docs/learn/index.mdx
2026-04-22 11:12:48 -07:00
Jordan Ritter 9b05ed41b3 feat(showcase/shell-docs): error boundary consolidation + docs components
Drop error-boundary-card in favour of Next.js error.tsx at each route,
refresh docs components (brand-nav, docs-callout, docs-page-view,
docs-steps, docs-tabs, framework-provider/selector/tabs,
property-reference, router-pivot, sidebar-link, snippet), update
docs-render + mdx-registry + reference-items for the new QA shape.
2026-04-22 11:00:46 -07:00
github-actions[bot] e713ad2a07 style: auto-fix formatting 2026-04-22 11:20:02 +00:00
Alem Tuzlak 06d24fd8ba Merge remote-tracking branch 'origin/main' into fix/scrub-open-gen-ui
The scrub and #4084 touched the same surface: #4084 re-added an `open:`
generative_ui profile listing `open-gen-ui`/`open-gen-ui-advanced`, and
re-added both features to `constrained-explicit.allowed`. Extending the
branch's scrub to both re-additions keeps the semantic consistent with
the schema (which already dropped `open` from the approaches enum).

- `showcase/shared/constraints.yaml`: drop `open-gen-ui` +
  `open-gen-ui-advanced` from `constrained-explicit.allowed`; drop main's
  re-added `open:` profile entirely.
- `showcase/packages/langgraph-python/manifest.yaml`: drop the now-orphan
  `open-gen-ui` + `open-gen-ui-advanced` feature and demo entries
  (validator confirmed they had no allowed approach left).
- Regenerated `showcase/shell/src/data/registry.json` + sibling
  `shell-docs`/`shell-dojo` registries and `constraints.json` via
  `pnpm --dir showcase/scripts generate-registry`. All 17 integrations
  validate.

`feature-registry.json` intentionally still defines both features — the
original scrub commits (2b996c54d, 27f886e59) left it untouched, so the
demo source files on disk also stay. Follow-up deletion if desired is
out of scope for this merge.
2026-04-22 13:17:34 +02:00
Sam Julien 8c4d0c36f9 fix(shell-docs): remove stale 'integrations' from RESERVED_ROUTE_SLUGS
There is no app/integrations/ route, so the reservation was causing
/integrations/... URLs to 404. Without it, these paths fall through to
UnscopedDocsPage via the non-integration fallthrough in [framework].
2026-04-21 17:35:01 -07:00
Sam Julien b37a3043e6 fix(shell-docs): remove hardcoded langgraph-python from main docs MDX
Strip snippet_framework: langgraph-python from frontmatter and
integration="langgraph-python" from all InlineDemo tags in the
main docs tree (27 files). On framework-scoped pages frameworkOverride
drives Snippet and InlineDemo; on unscoped pages FrameworkGuardedContent
already hides the body until a framework is selected, so no default
is needed.
2026-04-21 17:35:01 -07:00
github-actions[bot] a043aa5ba0 style: auto-fix formatting 2026-04-21 17:35:01 -07:00
Sam Julien a265cc7d48 fix(shell-docs): skip root-flagged dirs from parent nav tree
buildNavTree now checks meta.root before including a subdirectory,
so unselected/ (and any other root:true directory) is excluded from
the main nav tree. This eliminates the flicker where SidebarLink
generated /langgraph-python/unselected/coding-agents and the
[framework] route had to server-redirect to the correct scoped URL.
2026-04-21 17:35:01 -07:00
Sam Julien 64aa05d1b8 fix(showcase/shell-docs): rewrite MDX body links to framework-scoped URLs
On framework-scoped pages, MDX links like /quickstart rendered as plain
<a href="/quickstart"> causing RouterPivot redirect flicker. Override the
MDX `a` component when frameworkOverride is set to prepend the framework
prefix to root-relative internal links.
2026-04-21 17:35:01 -07:00
Sam Julien 87fb9e8260 fix(showcase/shell-docs): fix /<slug> 404 via UnscopedDocsPage fallthrough
Next.js routes /quickstart to [framework]/[[...slug]] (dynamic segment
beats optional catch-all), where "quickstart" is not a registered
integration, causing notFound(). Fix by:

- Extracting the unscoped doc rendering logic into UnscopedDocsPage
- Falling through to it in [framework] when the slug is not a framework
- Simplifying [[...slug]]/page.tsx to handle only the root overview
2026-04-21 17:35:01 -07:00
Sam Julien bb0b14702c fix(showcase/shell-docs): eliminate URL flicker on unscoped navigation
SidebarLink now uses storedFramework as fallback so links on the
overview page go directly to /<framework>/<slug> without a RouterPivot
redirect. OverviewNavItem and section cards now use SidebarLink for the
same reason. FrameworkSelector "Clear selection" was navigating to
/docs/<slug> (broken); fixed to /<slug>. hrefFor now preserves the
current slug when switching frameworks from an unscoped page.
2026-04-21 17:35:01 -07:00
github-actions[bot] 5e7e1be672 style: auto-fix formatting 2026-04-21 17:35:01 -07:00
Sam Julien 3218c54cc1 fix(showcase/shell-docs): remove remaining /docs/ hardcoded hrefs
SidebarLink fallback, framework-scoped backLink, "framework-agnostic
version" banner link, FrameworkLandingPage sidebar, and brand-nav
all still pointed at /docs/* which routes to 404 via the [framework]
catch-all. Switch all to / or /<slug>.
2026-04-21 17:35:01 -07:00
Sam Julien 671ecd1091 fix(showcase/shell-docs): make InlineDemo framework-aware via frameworkOverride
Override InlineDemo in DocsPageView's MDX component map to substitute
defaultFramework for the hardcoded integration prop when a framework
is selected. MDX files don't need to change — the override happens at
the render layer, matching how Snippet already handles this.
2026-04-21 17:35:01 -07:00
Sam Julien 0057d6beb4 fix(showcase/shell-docs): fix broken /docs/* route links in root page
DOCS_SECTIONS, OverviewNavItem, CopilotKit Docs link, backLink, and
slugHrefPrefix all generated /docs/<slug> paths that 404 — the
[framework] catch-all intercepted "docs" as a framework slug and
returned notFound(). Strip the /docs prefix so all root-route links
resolve correctly.
2026-04-21 17:35:01 -07:00
Sam Julien c730330d0d docs(shell-docs): content audit — fix broken snippets, links, and syntax
Page-by-page audit of showcase/shell-docs MDX content. All changes are
in src/content/docs/.

## Broken snippet region fixed
- generative-ui/a2ui/dynamic-schema.mdx: Step 5 referenced
  `runtime-inject-tool` which does not exist in the declarative-gen-ui
  cell. Replaced with a hardcoded code block showing `injectA2UITool: true`
  (same content already shown on the parent a2ui.mdx page).

## MDX syntax fix
- frontend-actions.mdx: stray closing ``` at end of file (would cause
  a parse/render failure).

## Internal link fixes — /docs/ prefix removed (×14 files)
The docs app routing does not use a /docs/ prefix — pages live at
/<slug>. Links using /docs/<slug> hit the reserved-slug guard in the
[framework] route and 404. Fixed across:
  generative-ui/index.mdx (7 links)
  generative-ui/tool-based.mdx (3 links)
  learn/index.mdx (6 links)
  multi-agent/subagents.mdx (2 links)
  shared-state.mdx (2 links)
  shared-state/streaming.mdx (2 links)
  shared-state/agent-readonly.mdx (4 links)
  troubleshooting/debug-mode.mdx
  troubleshooting/error-debugging.mdx
  troubleshooting/migrate-to-1.10.X.mdx
  troubleshooting/migrate-to-1.8.2.mdx (2 links)
  troubleshooting/observability-connectors.mdx

## Internal link fixes — /unselected/ removed (×2 files)
  backend/copilot-runtime.mdx
  backend/custom-agent.mdx
2026-04-21 17:35:01 -07:00
Jordan Ritter 8e6991cea1 Fix showcase dashboard links and dojo langgraph column (#4127)
## Summary

- **shell-dashboard:** dashboard.showcase.copilotkit.ai rendered every
"demo" and "code" link as `http://localhost:3000/...`. Root cause:
`NEXT_PUBLIC_SHELL_URL` was never provided at build time and the source
fell back to `localhost:3000`. Next.js inlines `NEXT_PUBLIC_*` at `next
build`, so a runtime Railway env var could not rescue a bad build. Fix
plumbs the value through as a Docker build arg from
`showcase_deploy.yml` and fails loudly at build if it's unset so this
can't regress silently.
- **shell-dojo:** dojo.showcase.copilotkit.ai was missing items in the
langgraph column (langgraph-python showed 9 demos vs 20+ in the
manifests). Root cause: `shell-dojo/src/data/registry.json` was stale —
the generator only wrote to `shell/`, the dojo Dockerfile never ran the
generator at build, and the CI path filter didn't rebuild the dojo when
manifests changed. Fix dual-emits from `generate-registry.ts` to
`shell/`, `shell-dojo/`, and `shell-docs/`, runs the generator in the
dojo Dockerfile, expands the workflow's path filter to include
`packages/**` and `shared/**`, and refreshes the committed JSON so it
matches what the generator produces today. Langgraph-python demo count 9
→ 32.

## Test plan

- [x] `shell-dashboard` Docker build succeeds with
`NEXT_PUBLIC_SHELL_URL` build arg (Depot `36wlvzkgp1`).
- [x] `shell-dashboard` Docker build fails loudly when the build arg is
omitted (Depot `mbh41c3qtk`).
- [x] `shell-dojo` Docker build succeeds; generator+bundler run at
build; 159 demos bundled (Depot `h7bbq8f8jt`).
- [x] `showcase_deploy.yml` passes YAML validation.
- [ ] After merge + deploy: verify `dashboard.showcase.copilotkit.ai`
links point to `https://showcase.copilotkit.ai/...`.
- [ ] After merge + deploy: verify `dojo.showcase.copilotkit.ai` shows
the full langgraph column (langgraph-python ≥ 20 items).
2026-04-21 15:27:13 -07:00
Martha Schumann bb0a9191bb docs(mastra): simplify AG-UI context access in Agent instructions example
Drops the inline TypeScript typecast from the Mastra agent-app-context
example and uses optional chaining + direct access instead, so the doc
snippet is easier to read and copy. Keeps optional chaining on `.find`
so the example stays safe when the AG-UI context is absent. Also fixes
the `[!code highlight:N]` count after the comment line was removed.

Ports @Abubakar-01's changes from #4125 so they can ship together with
the `requestContext` rename, targeting the new `showcase/shell-docs/`
path after the shell restructure on main.

Co-authored-by: Muhammad Abubakar <abubakaran102025@gmail.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 13:44:58 -07:00
Martha Schumann bcd5a92d32 Merge remote-tracking branch 'origin/main' into fix/restore-mastra-readables-content 2026-04-21 13:16:01 -07:00