Commit Graph

678 Commits

Author SHA1 Message Date
Ran Shem Tov 0e5b2189e7 feat(showcase): add strands-typescript integration with base demos
Add a new node/TypeScript-backed AWS Strands showcase integration at
showcase/integrations/strands-typescript.

Backend: a node/TS agent server (src/agent/) built on @strands-agents/sdk
`Agent`/`tool` wrapped in @ag-ui/aws-strands `StrandsAgent` and served via
@ag-ui/aws-strands/server (`createStrandsApp`/`addStrandsExpressEndpoint`),
modeled on the upstream ag-ui aws-strands TS example server and the
langgraph-typescript infra. A single shared agent at "/" serves most demos
(tools, shared state via toolBehaviors/stateContextBuilder, HITL,
sub-agents), with tool-free specialized agents mounted at /voice,
/byoc-hashbrown, /byoc-json-render. model-factory targets OpenAI chat
completions and honors OPENAI_API_KEY / OPENAI_BASE_URL so it works behind
the showcase aimock proxy. Node-based Dockerfile + entrypoint run the agent
server (:8000) alongside the Next.js frontend.

Frontend mirrors the strands (Python) sibling's demo set and the
langgraph-typescript conventions, with HttpAgent routes proxying to the TS
agent server.

Scope: base integration + standard demos only. A2UI / declarative-gen-ui /
a2ui-fixed-schema is intentionally excluded (no A2UI agents, routes, demos,
or deps) and layered on later.

Platform wiring (mirrors langgraph-typescript): docker-compose local/dev
services on host port 3119, local-ports.json, packages.json, slug-map.ts
(born-in-showcase), showcase_build.yml matrix + path filter + metadata,
shell-docs/dashboard registries, and a logo asset. The python strands
integration is untouched.
2026-06-19 17:38:02 +02:00
Alem Tuzlak f91f5d6968 Merge remote-tracking branch 'origin/main' into feat/bot-whatsapp
# Conflicts:
#	docs/model-allowlist.json
#	docs~origin_main
#	examples/slack/package.json
2026-06-19 17:26:54 +02:00
Sam Julien 3ae761a966 chore(docs): remove retired docs app (#5548)
## Summary
- remove the retired top-level `docs/` Next app and the disabled
docs-sync workflow/script
- add `docs -> showcase/shell-docs` as a top-level symlink for `cd docs`
muscle memory without restoring the old docs tree
- move the docs model allowlist into `showcase/shell-docs/` and retarget
docs validation/doctest extraction to shell-docs content
- update docs/agent guidance and CI path filters so `docs/` is treated
as an alias, not an active separate docs surface
- tighten the pre-commit package check so non-package docs/tooling
changes do not fan out into the full package matrix

## Validation
- `pnpm exec tsx scripts/validate-doc-model-names.ts`
- `pnpm exec tsx scripts/doc-tests/extract.ts`
- `pnpm exec vitest run
scripts/__tests__/validate-doc-model-names.test.ts
scripts/doc-tests/__tests__/extract.test.ts
showcase/harness/src/cli/eval/scope.test.ts`
- `pnpm exec oxlint showcase/harness/src/cli/eval/scope.test.ts
scripts/doc-tests/extract.ts`
- `git diff --cached --check` before follow-up commit
- `test "$(readlink docs)" = "showcase/shell-docs"`
- `test -f docs/package.json`
- `pnpm exec oxfmt --check .claude/docs/documentation.md
.claude/docs/hooks.md AGENTS.md CLAUDE.md CONTRIBUTING.md
showcase/shell-docs/README.md`
- commit hooks passed

## Notes
- historical docs remain recoverable from
`archive/docs-save-do-not-prune` and `archive/docs-retired-2026-06-17`
- I intentionally left Vercel/project teardown out of this PR; this is
repo cleanup only
2026-06-19 07:33:51 -07:00
Nathan 🔶 Tarbert fc2acea6db docs(shell-docs): update useRenderToolCall reference + schema-free tool-render opt-out (#5504)
## What

Updates the v2 `useRenderToolCall` reference page and makes opting a
tool out of the default rendering a single, schema-free call.

## Why

The reference page had drifted out of sync with the hook implementation
(`packages/react-core/src/v2/hooks/use-render-tool-call.tsx`) — most
notably `toolCallId` in the render props, added after the doc was last
touched. While documenting how to opt out of rendering, the natural
example (`useRenderTool({ name: "...", render: () => <></> })`) only
type-checked for the wildcard `"*"`; a named tool required a
`parameters` schema, forcing a throwaway `z.any()`. This PR re-aligns
the doc and removes that rough edge.

## Changes

### Docs (`showcase/shell-docs`)
- `useRenderToolCall.mdx`:
- Document `toolCallId` in the render-prop shape (previously
undocumented).
- Describe agentId-scoped lookup priority: agent-specific → unscoped →
wildcard `"*"` → built-in `DefaultToolCallRenderer`.
- Note args are parsed with `partialJSONParse` (streaming), not strict
`JSON.parse`.
- Correct `toolCall` prop to `toolCall.function.name` /
`toolCall.function.arguments`.
- Rewrite the Status Resolution table to match real logic (`toolMessage`
presence + provider executing set).
- New **"Disable default tool rendering"** section, ordered least→most
specific: wildcard first (all tools), then a **"For specific tools"**
subsection. Both use a schema-free `useRenderTool` call; dropped the old
`useFrontendTool` handler/schema boilerplate.
- `useRenderTool.mdx`: document the render-only (no-schema) named
overload.

### react-core
- Make `parameters` optional on the named `useRenderTool` overload,
mirroring the existing wildcard path; `defineToolCallRenderer` defaults
the args schema to `z.any()` when none is given.
- This lets `useRenderTool({ name: "myTool", render: () => <></> }, [])`
type-check with no Zod schema. Typed `parameters` behavior is unchanged.
- Added a test for the named render-only registration.

## Verification

- `@copilotkit/react-core` tests pass (1280) including the new case;
`build` (tsc) passes.
- Opt-out snippets type-checked in-package (`tsc`): wildcard,
specific-name (no schema), and named-with-schema all compile.
- `oxlint` (shell-docs) passes — 0 errors.
- Previewed locally at `/reference/hooks/useRenderToolCall`.
2026-06-19 10:32:20 -04:00
Alem Tuzlak 340722f597 Merge remote-tracking branch 'origin/main' into feat/bot-whatsapp
# Conflicts:
#	examples/slack/package.json
#	pnpm-lock.yaml
#	showcase/shell-docs/src/content/docs/meta.json
2026-06-19 11:22:56 +02:00
Jerel Velarde 37466ecff5 docs(cookbook): inline memory-ownership diagram as data-URI (drops broken CDN image dependency) 2026-06-18 18:52:11 -07:00
Jerel Velarde 1df235d93d Merge branch 'main' into cookbook/oracle-agent-spec-memory 2026-06-19 08:00:07 +08:00
Austin Merrick 08a22f1124 docs: add @copilotkit/vue reference documentation (#5526)
Adds a **Vue** section to the reference docs at `/reference/vue`,
alongside the existing React, React Native, and Core references. Until
now there was no Vue reference, so users and agents had no way to
discover the API.

It mirrors the React v2 reference but documents the real
`@copilotkit/vue/v2` API, with Vue idioms throughout (composables return
refs, slots instead of render props, kebab-case props, Vue SFC
examples).

### What's included
- The Vue index page (install, styling, provider setup)
- 14 composables (useAgent, useFrontendTool, useHumanInTheLoop,
useThreads, and the rest)
- 9 components (CopilotKitProvider, CopilotChat, CopilotPopup,
CopilotSidebar, and the chat sub-components)
- Vue registered in the SDK picker and the reference landing page

### Screenshots

Landing page (SDK picker set to Vue, full sidebar):

![Vue reference
landing](https://raw.githubusercontent.com/CopilotKit/CopilotKit/vue-reference-pr-assets/pr-assets/vue-reference/vue-reference-landing.png)

A composable page (useAgent):

![useAgent
reference](https://raw.githubusercontent.com/CopilotKit/CopilotKit/vue-reference-pr-assets/pr-assets/vue-reference/vue-reference-useagent.png)

A component page (CopilotKitProvider):

![CopilotKitProvider
reference](https://raw.githubusercontent.com/CopilotKit/CopilotKit/vue-reference-pr-assets/pr-assets/vue-reference/vue-reference-provider.png)

### How it was verified
- All 24 pages render (HTTP 200) on the local docs server
- Content shows up in `llms.txt` and `llms-full.txt`
- Each page was written from the Vue source, not copied from React, and
spot-checked for accuracy

Guide content and new demos are out of scope.
2026-06-18 16:16:21 -07:00
Austin Merrick 5d035afaea fix(shell-docs): align callout accent colors to brand (#5559)
## What

Docs `<Callout>` accents (the icon + left bar) were rendering in
fumadocs' generic blue/amber/green instead of the CopilotKit palette.
Remap them to brand tokens:

- **info** → brand accent (purple)
- **warning** → the docs `--warning` orange
- **success** → brand mint (new `--success` token)
- **error** → unchanged (already `--destructive`)

Theme-aware across light and dark.

## Before / After

|  | Before | After |
|---|:---:|:---:|
| **Light** | ![before
light](https://raw.githubusercontent.com/CopilotKit/CopilotKit/callout-brand-screenshots/pr-assets/callout-brand/before-light.png)
| ![after
light](https://raw.githubusercontent.com/CopilotKit/CopilotKit/callout-brand-screenshots/pr-assets/callout-brand/after-light.png)
|
| **Dark** | ![before
dark](https://raw.githubusercontent.com/CopilotKit/CopilotKit/callout-brand-screenshots/pr-assets/callout-brand/before-dark.png)
| ![after
dark](https://raw.githubusercontent.com/CopilotKit/CopilotKit/callout-brand-screenshots/pr-assets/callout-brand/after-dark.png)
|

## Note

These must be plain `:root` custom properties, not `@theme` tokens:
Tailwind v4 tree-shakes theme variables that no utility class
references, and the Callout reads `--color-fd-info|warning|success` only
through inline `var()`.
2026-06-18 16:16:15 -07:00
Jerel Velarde 4d2b1584f4 docs(cookbook): flatten showcase paths to examples/showcases/oracle-agent-memory layout 2026-06-18 15:30:27 -07:00
Martha Kelly Schumann 7eb40b0524 docs(showcase): fix shared randomUUID imports (#5456)
## Summary
- fix Showcase docs snippets that import `randomUUID` from non-existent
`@copilotkit/shared/v2`
- use the published `@copilotkit/shared` entrypoint instead
- move the fix to the publishing Showcase docs source under
`showcase/shell-docs`

## Linear
- FAC-65

## Verification
- `rg -n "@copilotkit/shared/v2" showcase/shell-docs/src/content`
returns no matches
- `pnpm validate:model-names`
- `npm ci --ignore-scripts` in `showcase/shell-docs`
- `npm run build` in `showcase/shell-docs`
- `git diff --check`
- pre-commit passed after refreshing root dependencies with `pnpm
install`
2026-06-18 15:21:56 -07:00
Jerel Velarde 09c192ea37 docs(cookbook): live demo embed + point source links at examples/showcases/oracle-agent-memory 2026-06-18 15:09:06 -07:00
github-actions[bot] 20cd06f62e style: auto-fix formatting 2026-06-18 21:55:16 +00:00
Sam Julien 4c311ac3fb chore(docs): add shell-docs symlink 2026-06-18 14:54:25 -07:00
Martha Schumann 72007b1d6a docs(showcase): move shared import fix to shell docs 2026-06-18 14:49:58 -07:00
Martha Schumann bdaba9aeca docs(showcase): move state streaming fix to shell docs 2026-06-18 14:42:54 -07:00
Austin Merrick 4dab6d38f8 fix(shell-docs): align callout accent colors to brand
Fumadocs' default callout palette (generic blue/amber/green) renders the
docs <Callout> accent and left bar off-brand against the purple-anchored
theme — and on the main docs route the info/success tokens weren't emitted
at all, falling back to the near-white muted color.

Define --color-fd-info/warning/success as plain :root custom properties
(not @theme tokens, which Tailwind v4 tree-shakes when no utility class
references them — the Callout reads them only via inline var()). Map info
-> brand accent (purple), warning -> the existing docs --warning orange,
success -> brand mint (new --success token, mint/800 light, mint/400 dark).
All theme-aware; error stays mapped to --destructive via shadcn.css.
2026-06-18 14:35:43 -07:00
Sam Julien cd40146d82 fix(react-core): honor selfManagedAgents in CopilotKit wrapper validation (#5551)
## Summary

Fixes #5417. The v1 `<CopilotKit>` wrapper's `validateProps` threw
`ConfigurationError: Missing required prop: 'runtimeUrl' or
'publicApiKey' or 'publicLicenseKey'` whenever neither `runtimeUrl` nor
a public key was supplied — without considering self-managed agents.
This rejected the documented self-managed-agent setup, even though the
underlying v2 `CopilotKitProvider` accepts it via its `hasLocalAgents`
gate.

- **Fix:** `validateProps` now mirrors the provider's `hasLocalAgents`
check, so `selfManagedAgents` and `agents__unsafe_dev_only` satisfy the
requirement without a `runtimeUrl` or Cloud key.
- **Test:** new rendering test pins the behavior — still throws when
nothing is configured, no longer throws when local agents are supplied.
- **Docs:** the showcase error-reference "v1 behaves differently"
callout claimed the wrapper throws unconditionally and rejects
`selfManagedAgents` (both now false); corrected, and dropped the "(v2
only)" label on the self-managed example.

## Test plan

- [x] `nx test react-core` — 1284 passing, 0 failing
- [x] New test fails before the fix (red) and passes after (green)
- [x] No new type errors introduced (pre-existing `tsc` noise unchanged
vs `main`)
2026-06-18 14:32:14 -07:00
Maxim b4c16067f1 docs: link self-managed licensing note to talk-to-an-engineer CTA
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-18 23:30:26 +02:00
Maxim ac8e5ea42a docs: correct v1 missing-config behavior note
The callout claimed the v1 <CopilotKit> wrapper has no dev-only
console.warn branch, but it composes CopilotKitV2Provider, which does
warn in development before the v1 validateProps throw. Drop the
misleading clause and contrast the throw-in-dev behavior instead.

Refs #5417
2026-06-18 22:15:49 +02:00
Austin Merrick 0c59e6bf60 feat(docs): add @copilotkit/vue reference documentation (OSS-323)
Adds the @copilotkit/vue v2 API reference to shell-docs: 9 component pages
(CopilotKitProvider, CopilotChat, CopilotChatView, CopilotChatInput,
CopilotChatMessageView, CopilotChatAssistantMessage, CopilotChatUserMessage,
CopilotPopup, CopilotSidebar) and 14 composable pages (useAgent, useAgentContext,
useCapabilities, useComponent, useConfigureSuggestions, useCopilotChatConfiguration,
useCopilotKit, useDefaultRenderTool, useFrontendTool, useHumanInTheLoop,
useInterrupt, useRenderTool, useSuggestions, useThreads), an index page, and
wiring into the reference version selector. Every documented API was verified
against packages/vue/src/v2.
2026-06-18 13:04:28 -07:00
Maxim 8bed39a033 docs: clarify selfManagedAgents portability note in error reference
The self-managed example sits under the "Fix (v2)" heading and uses
<CopilotKitProvider>, so the prior "works on both ... wrapper and v2"
comment read as if the v2 component itself were v1. Attribute the
portability to the selfManagedAgents prop instead of the component.

Refs #5417
2026-06-18 21:52:42 +02:00
Maxim e841339f89 docs: position selfManagedAgents as Enterprise Intelligence
Note on the self-managed agents page that selfManagedAgents is part of
the Enterprise Intelligence offering, with a pointer to discuss
licensing for production use.

Refs #5417
2026-06-18 21:28:15 +02:00
Maxim 76bfce84bb docs: correct v1 self-managed agents note in error reference
The error-reference callout claimed the v1 <CopilotKit> wrapper throws
unconditionally and does not accept selfManagedAgents. Both are no
longer true now that the wrapper honors local agents; update the note
and drop the "(v2 only)" label on the self-managed example.

Refs #5417
2026-06-18 21:19:21 +02:00
Atai Barkai a87c49db0a fix(shell-docs): resolve frontend markdown routes 2026-06-18 12:15:01 -07:00
Atai Barkai a9b7ec2c01 docs(shell-docs): resize Teams preview assets 2026-06-18 12:15:01 -07:00
Atai Barkai 0a8a4e97ea chore(shell-docs): update MDX remote dependency 2026-06-18 12:15:01 -07:00
Atai Barkai 6598481d8b docs(shell-docs): configure shell docs preview 2026-06-18 12:15:01 -07:00
Atai Barkai 8beaab7b0d docs(shell-docs): refine backend picker ordering 2026-06-18 12:15:01 -07:00
Atai Barkai 3fa0f0dff9 docs(shell-docs): update frontend reference links 2026-06-18 12:15:01 -07:00
Atai Barkai 469afd8f28 docs(shell-docs): add React docs guidance dialog 2026-06-18 12:15:01 -07:00
Atai Barkai c0b1e0a076 docs(shell-docs): split frontend and backend picker 2026-06-18 12:15:01 -07:00
Atai Barkai a49fc266b9 docs(shell-docs): add frontend docs routing 2026-06-18 12:15:01 -07:00
Sam Julien d7dd0e6154 docs(shell-docs): normalize quickstart CTAs (#5544)
## Summary
- remove duplicated OpsPlatformCTA blocks from A2A, CrewAI Flows, and
LangGraph prebuilt components docs
- add missing production CTA cards to integration quickstarts that only
had the inline signup step
- audit shell-docs CTA usage so each integration quickstart has exactly
one OpsPlatformCTA and no duplicate CTA blocks remain

## Verification
- npm run test (showcase/shell-docs)
- npm run typecheck (showcase/shell-docs)
- npm run lint (showcase/shell-docs; existing warnings only)
- npm run build (showcase/shell-docs; existing Next/Turbopack warning
only)
- duplicate CTA scanner: no duplicate CTA blocks found
- quickstart CTA scanner: every integration quickstart has exactly one
OpsPlatformCTA
2026-06-18 11:16:15 -07:00
Sam Julien 33a79485b6 chore(docs): remove retired docs app 2026-06-18 10:54:16 -07:00
Sam Julien fcc43cf344 docs: fix CrewAI Flows quickstart init command 2026-06-18 10:27:44 -07:00
Sam Julien ddeeb9c586 docs(shell-docs): add missing quickstart CTAs 2026-06-18 10:16:07 -07:00
Sam Julien 6e301f0247 docs(shell-docs): remove duplicated CTA blocks 2026-06-18 10:12:42 -07:00
Austin Merrick a4c5331e6f docs: fix LangGraph documentation links (#5445)
Closes #3190.

## Summary
- update the configurable guide links to the current LangGraph
use-graph-api documentation
- remove an encoded `%23` fragment from the runtime configuration link
- point the AI travel tutorial Studio setup link directly to the current
LangGraph Studio docs

## Verification
- `npx --yes prettier --check
docs/content/docs/integrations/langgraph/configurable.mdx
docs/content/docs/integrations/langgraph/tutorials/ai-travel-app/step-2-langgraph-agent.mdx`
- `git diff --check`
- checked the updated LangChain/LangGraph URLs with `curl -L -I` and
confirmed HTTP 200

Note: `node scripts/check-broken-links.js` was also attempted from
`docs/`, but this sparse checkout does not include all docs pages and
lacks `fumadocs-mdx`, so it reports pre-existing missing internal pages
unrelated to this docs-only change.
2026-06-18 09:49:05 -07:00
GeneralJerel c94184daf9 docs(cookbook): retitle and sync recipe with the current demo
Retitles to 'Build an Agentic Travel App with Oracle Agent Memory, Agent Spec, and CopilotKit' and syncs the recipe with the latest example: adds the memory-ownership diagram + 'what's CopilotKit, what's Oracle' section, documents memory reconciliation/supersession, and updates booking + multi-turn guidance (follow-ups now work via a server-side history-replace). Keeps the CDN media + clone conventions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 09:18:07 -07:00
Nathan 🔶 Tarbert 62acb88f28 revert(react-core): drop useRenderTool schema-free named overload
Per review, keep this PR docs-only. Restores defineToolCallRenderer and
useRenderTool (and its test) to main. The specific-tool opt-out example
now passes a pass-through schema (parameters: z.any()) since the named
overload requires a schema.
2026-06-18 10:36:41 -04:00
Alem Tuzlak 2698c7efa2 Merge origin/main into feat/bot-whatsapp
Unify WhatsApp with main's Slack+Discord multi-adapter demo: WhatsApp becomes a
third env-gated platform block in examples/slack/app/index.ts (listening on
Railway $PORT, with a malformed-PORT guard). Keep the platform-aware
senderContext (also fixes the Discord 'Slack user' label); drop the superseded
buildAdapters helper for main's inline per-platform pattern. package.json takes
main's ~0.0.2 bumps + bot-discord and adds bot-whatsapp (workspace:~); README
intro + deploy section cover all three surfaces.
2026-06-18 12:24:22 +02:00
Jerel Velarde 4aaf01fd98 cookbook: monorepo layout — demo/ run paths 2026-06-17 14:36:34 -07:00
Jerel Velarde b75ad1d72a cookbook: flights + book_flight ClientTool HITL + new-thread recall + generative UI 2026-06-17 14:07:50 -07:00
Alem Tuzlak f4e00eab8b chore(discord): merge main into discord branch 2026-06-17 11:58:33 -07:00
Alem Tuzlak 817f8c718d docs(bot-discord): add Discord adapter reference docs 2026-06-17 11:36:42 -07:00
Jerel Velarde f37afde7c6 docs(cookbook): add Oracle Agent Spec × Memory recipe
Adds a cookbook recipe showing how to define an agent once in Oracle
Agent Spec, run it on LangGraph over AG-UI, give it long-term memory on
Oracle AI Database, and render it in CopilotKit. Registers the page in
the cookbook sidebar (meta.json) and overview (index.mdx).

Draft: live-demo video pending CDN upload; example source repo
(CopilotKit/oracle-cookbook) pending publish.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 11:27:41 -07:00
Sam Julien 2d3bafd61c docs: clarify shell-docs hybrid authoring 2026-06-17 10:18:13 -07:00
Tyler Slaton 8ec7d0d4e5 docs(shell-docs): restore enterprise intelligence product name 2026-06-17 09:16:29 -07:00
Alem Tuzlak bca93eaa04 chore: fold whatsapp demo into examples/slack; delete examples/whatsapp 2026-06-17 14:58:07 +02:00