Commit Graph

43 Commits

Author SHA1 Message Date
Mike Ryan 637845bb7c feat(showcase): checkpoint 3 - shared build and proof pair 2026-07-23 07:14:55 -07:00
Austin Merrick 1aa40c7994 feat(examples): Microsoft Teams bot example with CSV→chart, file uploads, and HITL
Adds examples/teams: a runnable Teams bot built on @copilotkit/bot-teams.
Demonstrates rendering charts from uploaded CSV files, inbound file
handling over the Graph API, and human-in-the-loop confirmation flows,
plus the Teams app manifest and packaging scripts.
2026-06-25 12:56:04 -07:00
Murat Sari 6a768ab7d0 feat(angular): add a2ui for angular 2026-06-17 10:49:30 -07:00
Alem Tuzlak 3eb57520a0 chore: lockfile for the bot packages, plugin-mirror sync, transient-artifact gitignores 2026-06-10 10:46:08 -07:00
Tyler Slaton 04c6383990 fix(shell-docs): resolve launch.json port collision + harden preview script + untrack next-env.d.ts
`.claude/launch.json` declared port 3000 for both \`docs\` (Next.js at
docs/) and \`shell\` (Next.js at showcase/shell/) — only one could
actually start at a time, and Next's auto-port-fallback would land
\`shell\` on whatever was free without the launch config knowing.
Reassign \`shell\` to port 3004 (next free slot after the existing
3001/2/3 cluster) and pass \`-- --port 3004\` through \`npm run dev\`
so the runtime port matches the declared port.

\`.claude/preview/shell-docs.sh\` had a blanket
\`|| { echo "(may have failed — expected)" }\` after \`pnpm install\` that
swallowed every install failure, not just the documented \`lefthook\`
prepare-hook one. A real failure (network down, lockfile drift) would
get silently absorbed and then explode much later at the \`npx tsx\`
generator step with a confusing \`Cannot find module\` error. Verify
\`$SCRIPTS_DIR/node_modules\` exists after the install attempt; bail
with a clear instruction if it doesn't.

\`showcase/shell-docs/next-env.d.ts\` is a Next.js-auto-generated file
whose contents differ between \`next dev\` (\`./.next/dev/types/...\`)
and \`next build\` (\`./.next/types/...\`). Per Next.js's own
recommendation it should never be checked in — the v16 path change
would otherwise produce dirty trees on every build/dev switch, and a
clean checkout's typecheck would fail because the imported
\`.next/dev/types/routes.d.ts\` is itself gitignored. Add the file to
\`.gitignore\` (matching the existing \`docs/next-env.d.ts\` entry) and
\`git rm --cached\` to untrack the committed copy. Next regenerates it
on first \`next dev\`/\`next build\`.

Call-site enumeration:
- \`.claude/launch.json\` — no callers within the repo; the
  \`/run\` slash command reads it as data. Port change is non-breaking
  for any other tooling that doesn't bind to 3000 for \`shell\`.
- \`.claude/preview/shell-docs.sh\` — the lefthook installer is the
  only thing that runs it (besides interactive users); both flows
  benefit from the loud failure.
- \`next-env.d.ts\` — no source file imports from it; the file is a
  TypeScript \`/// <reference\` declaration consumed by tsc only,
  regenerated on each build/dev.
2026-05-20 20:01:16 -07:00
Jordan Ritter 88f0f27184 fix(showcase): update stale showcase/packages refs in ops Dockerfile
and .gitignore

The packages→integrations rename in #4351 missed two COPY
directives and a gitignore pattern that still referenced the
old showcase/packages/ path. Also fixes pre-existing format
issues in three showcase-ops probe files.
2026-04-28 08:49:36 -07:00
Atai Barkai 099c105272 feat(showcase): Docker-based local dev for Railway parity
Adds a single command to spin up the exact image Railway deploys,
for any of the 17 showcase packages, with a single shared .env:

  ./showcase/scripts/dev-local.sh up [<slug> ...]   # all if empty
  ./showcase/scripts/dev-local.sh down|build|logs|ps|ports

Pieces:
- `docker-compose.local.yml` with a service per package. Ports come
  from `shared/local-ports.json` (langgraph-python -> 3100, ...).
- `.env.example` as a commit-safe template. Real `.env` is gitignored
  and fed to every container via `env_file`, so keys (OPENAI_API_KEY,
  etc.) live in one place.
- `dev-local.sh` wraps `docker compose` and handles the
  `shared_python/` / `shared_typescript/` staging step that CI does
  before `docker build` (see showcase_deploy.yml).
- Staged `shared_*` dirs added to .gitignore.

Shell wiring:
- `shell/next.config.ts` reads `shared/local-ports.json` when
  `SHOWCASE_LOCAL=1` is set and injects it as a public env.
- `/integrations/[slug]/[demo]/preview` uses that map to iframe
  `http://localhost:<port>` instead of `integration.backend_url`.
  Per-slug; any slug not running locally falls back to Railway.
  Unset SHOWCASE_LOCAL -> prod behavior, unchanged.

Full workflow + prerequisites (Colima / Docker Desktop) documented in
showcase/README.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:37:37 -07:00
Tyler Slaton 387784c7bd ci: add bespoke stateless release system
Replace changesets with a simple, stateless release system:

Stable release (PR-gated):
  Actions → "create release PR" → pick patch/minor/major → CI runs →
  merge → publishes to npm, creates git tag + GitHub Release

Prerelease (ad-hoc):
  Actions → "publish / prerelease" → publishes current version with
  -canary.<suffix|timestamp> to npm under "canary" tag

Key features:
- All 12 core @copilotkit/* packages share a single version
- AI-generated release notes via Anthropic API
- Notion draft for team editing before merge
- Notion link commented on the release PR
- Guards: concurrent release PR check, version > npm check, clean
  semver check, canary-only prerelease tag
- release/publish/v* branch pattern (hard to accidentally match)
- TypeScript throughout (tsx runner)
- release.config.json with versionedTogether/versionedIndependently
2026-04-10 22:20:43 -07:00
Atai Barkai 0f28a31553 chore: add private-agents.md support and gitignore it 2026-04-09 16:36:52 -07:00
Jordan Ritter 84fb4c6c0a feat: executable doc tests — extract, run, and validate MDX code snippets
AST-based extraction (remark + remark-mdx) finds doctest-tagged code
blocks in MDX files. Execution harness runs them against aimock with
category-specific validation (server health-check, script exit code,
component type-check). CI workflow triggers on docs/** changes.

- stripCommonIndent for JSX-indented blocks
- validateDepName for shell injection prevention
- try/finally process cleanup on all spawn paths
- 10 extraction tests
2026-04-08 18:55:39 -07:00
Martha Schumann cdbc3457cf fix(react-core): stabilize messageView/labels props to prevent message re-renders on keystroke
Inline `messageView` and `labels` objects passed to CopilotChat caused all
completed assistant messages to re-render on every keystroke because:

1. `ts-deepmerge.merge()` deep-clones its inputs, producing a new `messageView`
   reference on every render even when content is identical — defeating
   `MemoizedSlotWrapper`'s shallow equality check.

2. An inline `labels` object (new reference each render) invalidated the
   `mergedLabels` useMemo in `CopilotChatConfigurationProvider`, causing
   every `useCopilotChatConfiguration()` consumer to re-render on every keystroke.

3. The inline `onAddFile` arrow function was a new reference each render.

Fixes:
- Replace `merge()` with shallow spread; stabilize `messageView` via a ref +
  `shallowEqual` guard so the same object reference is returned when props
  are shallowly equal across renders.
- Use `useCallback` for `handleAddFile`.
- Add JSON.stringify-based dep keys in `CopilotChatConfigurationProvider` so
  `mergedLabels` is only recomputed when label values actually change.

Adds deterministic render-count regression tests (FOR-75) that fail on the
unfixed code and pass after the fix.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 09:55:34 -07:00
GeneralJerel c186e20e0d feat(showcase): add deep-agents-finance-erp project
Finance ERP showcase powered by CopilotKit deep agents. Includes a
Next.js 16 frontend with 7 CopilotKit-registered tools, a LangGraph
multi-agent backend (orchestrator + research/projections subagents),
Postgres-backed dashboard gallery with 12 widget types and 4 templates,
and human-in-the-loop approval flows for invoices and inventory.
2026-04-06 16:16:12 -07:00
Maxim 5180c84135 chore: ignore superpowers directory 2026-03-21 12:01:53 +01:00
Alem Tuzlak c854384e5e chore: ignore .husky directory and remove deprecated leftovers
The repo migrated to lefthook but leftover .husky/_/ files from the
old husky install can confuse agents into thinking husky is the hook
runner. Adding .husky/ to .gitignore prevents these from reappearing.
2026-03-13 14:32:49 +01:00
Jordan Ritter 61047f85d3 ci: add binary artifact detection to .gitignore and CI
Add .gitignore patterns for common binary extensions (.exe, .dll, .so,
.dylib, .o, .obj, .a, .lib, .wasm, .dSYM) and a CI workflow that
checks all PRs for binary files, build directories, and files >500KB.

Prompted by ag-ui PR #29 where ~15MB of compiled binaries were
accidentally committed.
2026-03-05 08:41:57 -08:00
Tyler Slaton b3fc19e129 chore: remove plan files from tracking and gitignore docs/plans/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:54:03 -05:00
Alem Tuzlak f349a57adc fix: update gitignore 2026-03-02 16:05:57 +01:00
Alem Tuzlak 420f01bbae fix: add tags for easy local overrides 2026-03-02 15:56:37 +01:00
Ran Shemtov d77f3475a6 feat: create use-interrupt hook (#3184)
Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:50:21 +01:00
Tyler Slaton cd05db567e chore(claude): ignore .claude worktrees
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-02-16 16:59:44 -08:00
Alem Tuzlak 7cd968d6a6 refactor: migrate from Turborepo to Nx for task management (#3207) 2026-02-13 16:53:35 +01:00
Alem Tuzlak 7b838547a9 feat: re-architeture the monorepo setup (#3187) 2026-02-13 11:01:44 +01:00
lukasmoschitz f5978948e7 feat(v2.x): Add audio transcription support with OpenAI Whisper (#2987)
Co-authored-by: Development <dev@MacBook-Pro.local>
Co-authored-by: Markus Ecker <markus.ecker@gmail.com>
2026-01-16 17:28:52 +01:00
Markus Ecker c87af71792 fix(mcp-apps): improve performance and fix MCP server ports (#2989)
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Max Korp <maxkorp@8bytealchemy.com>
Co-authored-by: Maximiliano Korp <max@copilotkit.ai>
Co-authored-by: Tyler Slaton <tyler@copilotkit.ai>
2026-01-14 15:31:49 -07:00
John Rae-Grant e9e6fbdd85 Docs Rebranding with fixes (#2982)
Co-authored-by: Max Korp <maxkorp@8bytealchemy.com>
Co-authored-by: Santiago Cubino <scubino@litebox.ai>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 14:28:26 -08:00
johnprg eaedc9e078 Revert "Docs Rebranding"
This reverts commit 1810c76223.
2026-01-06 19:50:23 -08:00
John Rae-Grant 1810c76223 Docs Rebranding
Co-authored-by: Max Korp <maxkorp@8bytealchemy.com>
Co-authored-by: Santiago Cubino <scubino@litebox.ai>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-06 19:39:56 -08:00
Brandon McConnell 33dd4857ef chore: ignore and stop tracking docs/next-env.d.ts 2025-12-17 16:11:01 -05:00
John Rae-Grant 4695d618dd feat: Docs Update for v1.5 announcement, GenUI specs and Agentic Protocols (#2815)
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Max Korp <maxkorp@8bytealchemy.com>
2025-12-11 02:49:41 -05:00
orca-copilotkit 607fb38b9d Updated initial messages for demos and added suggestions (#1757) 2025-05-05 17:07:02 +04:00
Suhas Deshpande d152e11108 adds CopilotKit and CrewAI Enterprise integration example (#1512) 2025-03-20 14:53:04 -07:00
Markus Ecker 6da1648941 add __pycache__ 2025-02-12 08:55:01 +01:00
Markus Ecker 1b47092b43 CoAgents v0.3 (#1193)
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Tyler Slaton <54378333+tylerslaton@users.noreply.github.com>
Co-authored-by: Ariel Weinberger <Weinberger.Ariel@gmail.com>
2025-01-07 19:48:51 -06:00
Suhas Deshpande ae695b4fc0 connect the flow (#943) 2024-11-20 09:13:42 -08:00
Suhas Deshpande d8c2c4456a chore: initial Playwright test setup with documentation (#935) 2024-11-18 21:46:19 -06:00
Ariel Weinberger ea636fccb3 Feat/preview envs demos 1 (#886)
* previews

* wip

* with preview env

* fix aws region

* redo

* fix

* remove-branch

* test

* update workflow

* update

* wip

* test

* add cdk deploy step

* test

* all stacks

* use doppler

* test api key

* fix build

* fix comment

* add paths

* test something

* install pnpm

* pnpm i

* reorder

* new comment

* generate table

* fix

* test

* test

* add generate table script

* update

* get PR name

* with pr number

* include pr number

* with log groups

* update ci

* add label

* add additional demo to preview

* disable one project

* test

* with doppler api keys

* wip

* fix

* add support for coagents-qa-text

* qa native demo

* add more outputs

* more granular
2024-11-03 15:40:24 -08:00
Ran Shemtov be02bb4af0 fix: prevent rerenders by memoizing ui context (#866)
* fix: prevent rerenders by memoizing ui context
2024-11-01 21:45:16 +01:00
Markus Ecker b6f206dde0 Autogenerate reference docs (#525)
* automate doc generation

* write files

* Actually write files

* update docs (autogenerated)

* remove body (obsolete)

* fix build errors

* clean up

* test

* feat(docs): add pre commit hook with husky

---------

Co-authored-by: Ariel Weinberger <weinberger.ariel@gmail.com>
2024-08-06 12:35:36 +02:00
Ariel Weinberger 443ef0028e chore(runtime-client-gql): add @generated to .gitignore 2024-06-14 17:41:34 +02:00
Ariel Weinberger 64c4316da3 feat(runtime): remove circular dependency between runtime and shared packages 2024-06-14 17:41:04 +02:00
Atai Barkai 5f3727dde8 move to CopilotKit subdirectory
.
2023-08-22 23:09:55 -07:00
Atai Barkai 03164e91c7 v0.2 turbo refactor 2023-07-13 16:08:04 -07:00
Atai Barkai 824172fc9b initial commit - web skeleton in place 2023-06-19 09:59:21 -07:00