@copilotkit/runtime 1.57.3 → 1.58.0-canary.thread-id-propagation
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/observability.d.cts +1 -1
- package/dist/lib/observability.d.cts.map +1 -1
- package/dist/lib/observability.d.mts +1 -1
- package/dist/lib/observability.d.mts.map +1 -1
- package/dist/lib/runtime/copilot-runtime.cjs +2 -0
- package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
- package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
- package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
- package/dist/lib/runtime/copilot-runtime.mjs +2 -0
- package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
- package/dist/package.cjs +5 -8
- package/dist/package.mjs +5 -8
- package/dist/v2/runtime/core/runtime.cjs +4 -1
- package/dist/v2/runtime/core/runtime.cjs.map +1 -1
- package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
- package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
- package/dist/v2/runtime/core/runtime.mjs +4 -1
- package/dist/v2/runtime/core/runtime.mjs.map +1 -1
- package/dist/v2/runtime/handlers/get-runtime-info.cjs +1 -1
- package/dist/v2/runtime/handlers/get-runtime-info.mjs +1 -1
- package/dist/v2/runtime/handlers/handle-connect.cjs +1 -1
- package/dist/v2/runtime/handlers/handle-connect.mjs +1 -1
- package/dist/v2/runtime/handlers/handle-run.cjs +1 -1
- package/dist/v2/runtime/handlers/handle-run.mjs +1 -1
- package/dist/v2/runtime/handlers/shared/agent-utils.cjs +1 -1
- package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
- package/dist/v2/runtime/handlers/shared/agent-utils.mjs +1 -1
- package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
- package/dist/v2/runtime/telemetry/telemetry-client.cjs +22 -6
- package/dist/v2/runtime/telemetry/telemetry-client.cjs.map +1 -1
- package/dist/v2/runtime/telemetry/telemetry-client.mjs +27 -11
- package/dist/v2/runtime/telemetry/telemetry-client.mjs.map +1 -1
- package/package.json +9 -19
- package/skills/runtime/SKILL.md +98 -0
- package/skills/runtime/references/agent-runners-custom.md +161 -0
- package/skills/runtime/references/agent-runners-in-memory.md +64 -0
- package/skills/runtime/references/agent-runners-sqlite.md +90 -0
- package/skills/runtime/references/agent-runners.md +304 -0
- package/skills/runtime/references/built-in-agent-factory-modes.md +232 -0
- package/skills/runtime/references/built-in-agent-helper-utilities.md +123 -0
- package/skills/runtime/references/built-in-agent-model-identifiers.md +59 -0
- package/skills/runtime/references/built-in-agent.md +523 -0
- package/skills/runtime/references/intelligence-mode.md +336 -0
- package/skills/runtime/references/middleware.md +376 -0
- package/skills/runtime/references/server-side-tools.md +414 -0
- package/skills/runtime/references/setup-endpoint.md +503 -0
- package/skills/runtime/references/transcription.md +287 -0
- package/skills/runtime/references/wiring-a2a.md +40 -0
- package/skills/runtime/references/wiring-adk.md +45 -0
- package/skills/runtime/references/wiring-ag2.md +41 -0
- package/skills/runtime/references/wiring-agno.md +39 -0
- package/skills/runtime/references/wiring-aws-strands.md +59 -0
- package/skills/runtime/references/wiring-crewai-crews.md +51 -0
- package/skills/runtime/references/wiring-crewai-flows.md +45 -0
- package/skills/runtime/references/wiring-external-agents.md +348 -0
- package/skills/runtime/references/wiring-langgraph.md +50 -0
- package/skills/runtime/references/wiring-llamaindex.md +39 -0
- package/skills/runtime/references/wiring-mastra.md +70 -0
- package/skills/runtime/references/wiring-mcp-apps-middleware.md +68 -0
- package/skills/runtime/references/wiring-ms-agent-framework.md +41 -0
- package/skills/runtime/references/wiring-pydantic-ai.md +45 -0
- package/CHANGELOG.md +0 -3624
- package/__snapshots__/schema/schema.graphql +0 -371
- package/dist/v2/runtime/telemetry/scarf-client.cjs +0 -32
- package/dist/v2/runtime/telemetry/scarf-client.cjs.map +0 -1
- package/dist/v2/runtime/telemetry/scarf-client.mjs +0 -32
- package/dist/v2/runtime/telemetry/scarf-client.mjs.map +0 -1
- package/scripts/generate-gql-schema.ts +0 -16
- package/src/agent/__tests__/agent-test-helpers.ts +0 -476
- package/src/agent/__tests__/agent.test.ts +0 -593
- package/src/agent/__tests__/ai-sdk-v6-compat.test.ts +0 -116
- package/src/agent/__tests__/basic-agent.test.ts +0 -1698
- package/src/agent/__tests__/capabilities.test.ts +0 -81
- package/src/agent/__tests__/config-tools-execution.test.ts +0 -516
- package/src/agent/__tests__/converter-aisdk.test.ts +0 -692
- package/src/agent/__tests__/converter-custom.test.ts +0 -319
- package/src/agent/__tests__/converter-tanstack-input.test.ts +0 -211
- package/src/agent/__tests__/converter-tanstack.test.ts +0 -594
- package/src/agent/__tests__/mcp-clients.test.ts +0 -246
- package/src/agent/__tests__/mcp-servers-integration.test.ts +0 -373
- package/src/agent/__tests__/multimodal-tanstack.test.ts +0 -284
- package/src/agent/__tests__/multimodal.test.ts +0 -176
- package/src/agent/__tests__/property-overrides.test.ts +0 -598
- package/src/agent/__tests__/provider-id-collision.test.ts +0 -195
- package/src/agent/__tests__/standard-schema-tools.test.ts +0 -313
- package/src/agent/__tests__/standard-schema-types.test.ts +0 -158
- package/src/agent/__tests__/state-tools.test.ts +0 -436
- package/src/agent/__tests__/test-helpers.ts +0 -197
- package/src/agent/__tests__/utils.test.ts +0 -536
- package/src/agent/__tests__/zod-regression.test.ts +0 -350
- package/src/agent/converters/aisdk.ts +0 -326
- package/src/agent/converters/index.ts +0 -7
- package/src/agent/converters/tanstack.ts +0 -451
- package/src/agent/index.ts +0 -1743
- package/src/agents/langgraph/__tests__/event-source.test.ts +0 -256
- package/src/agents/langgraph/event-source.ts +0 -365
- package/src/agents/langgraph/events.ts +0 -394
- package/src/graphql/inputs/action.input.ts +0 -16
- package/src/graphql/inputs/agent-session.input.ts +0 -13
- package/src/graphql/inputs/agent-state.input.ts +0 -13
- package/src/graphql/inputs/cloud-guardrails.input.ts +0 -16
- package/src/graphql/inputs/cloud.input.ts +0 -8
- package/src/graphql/inputs/context-property.input.ts +0 -10
- package/src/graphql/inputs/copilot-context.input.ts +0 -10
- package/src/graphql/inputs/custom-property.input.ts +0 -15
- package/src/graphql/inputs/extensions.input.ts +0 -21
- package/src/graphql/inputs/forwarded-parameters.input.ts +0 -22
- package/src/graphql/inputs/frontend.input.ts +0 -14
- package/src/graphql/inputs/generate-copilot-response.input.ts +0 -59
- package/src/graphql/inputs/load-agent-state.input.ts +0 -10
- package/src/graphql/inputs/message.input.ts +0 -110
- package/src/graphql/inputs/meta-event.input.ts +0 -18
- package/src/graphql/message-conversion/agui-to-gql.test.ts +0 -1384
- package/src/graphql/message-conversion/agui-to-gql.ts +0 -384
- package/src/graphql/message-conversion/gql-to-agui.test.ts +0 -1653
- package/src/graphql/message-conversion/gql-to-agui.ts +0 -297
- package/src/graphql/message-conversion/index.ts +0 -2
- package/src/graphql/message-conversion/roundtrip-conversion.test.ts +0 -561
- package/src/graphql/resolvers/__tests__/resolve-message-id.test.ts +0 -25
- package/src/graphql/resolvers/copilot.resolver.ts +0 -785
- package/src/graphql/resolvers/resolve-message-id.ts +0 -14
- package/src/graphql/resolvers/state.resolver.ts +0 -30
- package/src/graphql/types/agents-response.type.ts +0 -19
- package/src/graphql/types/base/index.ts +0 -10
- package/src/graphql/types/converted/index.ts +0 -183
- package/src/graphql/types/copilot-response.type.ts +0 -141
- package/src/graphql/types/enums.ts +0 -38
- package/src/graphql/types/extensions-response.type.ts +0 -23
- package/src/graphql/types/guardrails-result.type.ts +0 -20
- package/src/graphql/types/load-agent-state-response.type.ts +0 -17
- package/src/graphql/types/message-status.type.ts +0 -48
- package/src/graphql/types/meta-events.type.ts +0 -78
- package/src/graphql/types/response-status.type.ts +0 -77
- package/src/index.ts +0 -3
- package/src/langgraph.ts +0 -1
- package/src/lib/__tests__/telemetry-disclosure.test.ts +0 -55
- package/src/lib/cloud/index.ts +0 -4
- package/src/lib/error-messages.ts +0 -211
- package/src/lib/index.ts +0 -52
- package/src/lib/integrations/index.ts +0 -6
- package/src/lib/integrations/nest/index.ts +0 -21
- package/src/lib/integrations/nextjs/app-router.ts +0 -47
- package/src/lib/integrations/nextjs/pages-router.ts +0 -45
- package/src/lib/integrations/node-express/index.ts +0 -21
- package/src/lib/integrations/node-http/__tests__/request-duck-type.test.ts +0 -66
- package/src/lib/integrations/node-http/index.ts +0 -187
- package/src/lib/integrations/node-http/request-handler.ts +0 -128
- package/src/lib/integrations/shared.ts +0 -112
- package/src/lib/logger.ts +0 -31
- package/src/lib/observability.ts +0 -167
- package/src/lib/runtime/__tests__/copilot-runtime-error.test.ts +0 -183
- package/src/lib/runtime/__tests__/handle-service-adapter.test.ts +0 -108
- package/src/lib/runtime/__tests__/mcp-tools-utils.test.ts +0 -499
- package/src/lib/runtime/__tests__/on-after-request.test.ts +0 -122
- package/src/lib/runtime/__tests__/retry-utils.test.ts +0 -137
- package/src/lib/runtime/__tests__/v1-agent-factory.test.ts +0 -109
- package/src/lib/runtime/agent-integrations/langgraph/__tests__/dispatch-event-filtering.test.ts +0 -345
- package/src/lib/runtime/agent-integrations/langgraph/__tests__/run-message-filtering.test.ts +0 -156
- package/src/lib/runtime/agent-integrations/langgraph/agent.ts +0 -263
- package/src/lib/runtime/agent-integrations/langgraph/consts.ts +0 -37
- package/src/lib/runtime/agent-integrations/langgraph/index.ts +0 -2
- package/src/lib/runtime/copilot-runtime.ts +0 -863
- package/src/lib/runtime/mcp-tools-utils.ts +0 -313
- package/src/lib/runtime/retry-utils.ts +0 -141
- package/src/lib/runtime/telemetry-agent-runner.ts +0 -151
- package/src/lib/runtime/types.ts +0 -48
- package/src/lib/runtime/utils.ts +0 -93
- package/src/lib/streaming.ts +0 -220
- package/src/lib/telemetry-client.ts +0 -66
- package/src/lib/telemetry-disclosure.ts +0 -53
- package/src/service-adapters/anthropic/anthropic-adapter.ts +0 -532
- package/src/service-adapters/anthropic/utils.ts +0 -219
- package/src/service-adapters/bedrock/bedrock-adapter.ts +0 -73
- package/src/service-adapters/conversion.test.ts +0 -56
- package/src/service-adapters/conversion.ts +0 -69
- package/src/service-adapters/empty/empty-adapter.ts +0 -38
- package/src/service-adapters/events.ts +0 -337
- package/src/service-adapters/experimental/ollama/ollama-adapter.ts +0 -84
- package/src/service-adapters/google/google-genai-adapter.test.ts +0 -151
- package/src/service-adapters/google/google-genai-adapter.ts +0 -95
- package/src/service-adapters/groq/groq-adapter.ts +0 -229
- package/src/service-adapters/index.ts +0 -18
- package/src/service-adapters/langchain/langchain-adapter.ts +0 -113
- package/src/service-adapters/langchain/langserve.ts +0 -88
- package/src/service-adapters/langchain/types.ts +0 -20
- package/src/service-adapters/langchain/utils.ts +0 -330
- package/src/service-adapters/openai/__tests__/openai-v5-compat.test.ts +0 -177
- package/src/service-adapters/openai/openai-adapter.ts +0 -324
- package/src/service-adapters/openai/openai-assistant-adapter.ts +0 -385
- package/src/service-adapters/openai/utils.ts +0 -305
- package/src/service-adapters/service-adapter.ts +0 -50
- package/src/service-adapters/shared/error-utils.ts +0 -64
- package/src/service-adapters/shared/index.ts +0 -2
- package/src/service-adapters/shared/sdk-client-utils.ts +0 -19
- package/src/service-adapters/unify/unify-adapter.ts +0 -165
- package/src/utils/failed-response-status-reasons.ts +0 -70
- package/src/utils/index.ts +0 -1
- package/src/v2/express.ts +0 -1
- package/src/v2/hono.ts +0 -1
- package/src/v2/index.ts +0 -5
- package/src/v2/node.ts +0 -1
- package/src/v2/runtime/__tests__/agents-factory.test.ts +0 -136
- package/src/v2/runtime/__tests__/backward-compat.test.ts +0 -261
- package/src/v2/runtime/__tests__/code-review-fixes.test.ts +0 -500
- package/src/v2/runtime/__tests__/cors-credentials.test.ts +0 -320
- package/src/v2/runtime/__tests__/debug-sse-response.test.ts +0 -302
- package/src/v2/runtime/__tests__/express-adapter.test.ts +0 -188
- package/src/v2/runtime/__tests__/express-body-order.test.ts +0 -76
- package/src/v2/runtime/__tests__/express-fetch-bridge.test.ts +0 -344
- package/src/v2/runtime/__tests__/express-single-sse.test.ts +0 -122
- package/src/v2/runtime/__tests__/express-single-telemetry.integration.test.ts +0 -65
- package/src/v2/runtime/__tests__/express-telemetry.integration.test.ts +0 -101
- package/src/v2/runtime/__tests__/fetch-cors.test.ts +0 -205
- package/src/v2/runtime/__tests__/fetch-handler-validation.test.ts +0 -440
- package/src/v2/runtime/__tests__/fetch-handler.test.ts +0 -456
- package/src/v2/runtime/__tests__/fetch-router.test.ts +0 -276
- package/src/v2/runtime/__tests__/get-runtime-info.test.ts +0 -335
- package/src/v2/runtime/__tests__/handle-connect.test.ts +0 -585
- package/src/v2/runtime/__tests__/handle-run.test.ts +0 -1388
- package/src/v2/runtime/__tests__/handle-threads.test.ts +0 -930
- package/src/v2/runtime/__tests__/handle-transcribe.test.ts +0 -301
- package/src/v2/runtime/__tests__/header-utils.test.ts +0 -88
- package/src/v2/runtime/__tests__/hono-adapter.test.ts +0 -150
- package/src/v2/runtime/__tests__/hono-single-telemetry.integration.test.ts +0 -46
- package/src/v2/runtime/__tests__/hono-telemetry.integration.test.ts +0 -99
- package/src/v2/runtime/__tests__/hooks-edge-cases.test.ts +0 -457
- package/src/v2/runtime/__tests__/hooks.test.ts +0 -557
- package/src/v2/runtime/__tests__/in-process-agent-runner-messages.test.ts +0 -230
- package/src/v2/runtime/__tests__/in-process-agent-runner.test.ts +0 -1030
- package/src/v2/runtime/__tests__/integration/bun/bun-servers.integration.test.ts +0 -27
- package/src/v2/runtime/__tests__/integration/bun/elysia-multi.ts +0 -32
- package/src/v2/runtime/__tests__/integration/bun/elysia-single.ts +0 -33
- package/src/v2/runtime/__tests__/integration/bun/hono-bun-multi.ts +0 -25
- package/src/v2/runtime/__tests__/integration/bun/hono-bun-single.ts +0 -32
- package/src/v2/runtime/__tests__/integration/helpers/create-test-runtime.ts +0 -15
- package/src/v2/runtime/__tests__/integration/helpers/sse-reader.ts +0 -45
- package/src/v2/runtime/__tests__/integration/helpers/test-agent.ts +0 -58
- package/src/v2/runtime/__tests__/integration/node-servers.integration.test.ts +0 -58
- package/src/v2/runtime/__tests__/integration/servers/express-multi.ts +0 -35
- package/src/v2/runtime/__tests__/integration/servers/express-single.ts +0 -36
- package/src/v2/runtime/__tests__/integration/servers/fetch-direct.ts +0 -39
- package/src/v2/runtime/__tests__/integration/servers/hono-multi.ts +0 -30
- package/src/v2/runtime/__tests__/integration/servers/hono-single.ts +0 -37
- package/src/v2/runtime/__tests__/integration/servers/node-multi.ts +0 -45
- package/src/v2/runtime/__tests__/integration/servers/node-single.ts +0 -46
- package/src/v2/runtime/__tests__/integration/servers/types.ts +0 -18
- package/src/v2/runtime/__tests__/integration/suites/debug-events.suite.ts +0 -253
- package/src/v2/runtime/__tests__/integration/suites/multi-endpoint.suite.ts +0 -358
- package/src/v2/runtime/__tests__/integration/suites/single-endpoint.suite.ts +0 -363
- package/src/v2/runtime/__tests__/intelligence-run-telemetry.test.ts +0 -194
- package/src/v2/runtime/__tests__/mcp-apps-middleware-integration.test.ts +0 -275
- package/src/v2/runtime/__tests__/middleware-express.test.ts +0 -208
- package/src/v2/runtime/__tests__/middleware-single-express.test.ts +0 -213
- package/src/v2/runtime/__tests__/middleware-single.test.ts +0 -225
- package/src/v2/runtime/__tests__/middleware-sse-parser.test.ts +0 -237
- package/src/v2/runtime/__tests__/middleware.test.ts +0 -250
- package/src/v2/runtime/__tests__/node-fetch-handler.test.ts +0 -157
- package/src/v2/runtime/__tests__/open-generative-ui-middleware.e2e.test.ts +0 -728
- package/src/v2/runtime/__tests__/router-edge-cases.test.ts +0 -217
- package/src/v2/runtime/__tests__/routing-express.test.ts +0 -174
- package/src/v2/runtime/__tests__/routing-single-express.test.ts +0 -168
- package/src/v2/runtime/__tests__/routing-single.test.ts +0 -193
- package/src/v2/runtime/__tests__/routing.test.ts +0 -257
- package/src/v2/runtime/__tests__/runtime.test.ts +0 -234
- package/src/v2/runtime/__tests__/sse-response-telemetry.test.ts +0 -108
- package/src/v2/runtime/__tests__/telemetry.test.ts +0 -167
- package/src/v2/runtime/__tests__/thread-names.test.ts +0 -188
- package/src/v2/runtime/core/__tests__/debug-event-bus.test.ts +0 -156
- package/src/v2/runtime/core/debug-event-bus.ts +0 -45
- package/src/v2/runtime/core/fetch-cors.ts +0 -136
- package/src/v2/runtime/core/fetch-handler.ts +0 -492
- package/src/v2/runtime/core/fetch-router.ts +0 -203
- package/src/v2/runtime/core/hooks.ts +0 -160
- package/src/v2/runtime/core/middleware-sse-parser.ts +0 -210
- package/src/v2/runtime/core/middleware.ts +0 -115
- package/src/v2/runtime/core/runtime.ts +0 -432
- package/src/v2/runtime/endpoints/express-fetch-bridge.ts +0 -137
- package/src/v2/runtime/endpoints/express-single.ts +0 -54
- package/src/v2/runtime/endpoints/express.ts +0 -179
- package/src/v2/runtime/endpoints/hono-single.ts +0 -60
- package/src/v2/runtime/endpoints/hono.ts +0 -89
- package/src/v2/runtime/endpoints/index.ts +0 -4
- package/src/v2/runtime/endpoints/node-fetch-handler.ts +0 -48
- package/src/v2/runtime/endpoints/node.ts +0 -28
- package/src/v2/runtime/endpoints/single-route-helpers.ts +0 -125
- package/src/v2/runtime/express.ts +0 -2
- package/src/v2/runtime/handlers/__tests__/handle-debug-events.test.ts +0 -176
- package/src/v2/runtime/handlers/get-runtime-info.ts +0 -101
- package/src/v2/runtime/handlers/handle-connect.ts +0 -80
- package/src/v2/runtime/handlers/handle-debug-events.ts +0 -52
- package/src/v2/runtime/handlers/handle-run.ts +0 -111
- package/src/v2/runtime/handlers/handle-stop.ts +0 -77
- package/src/v2/runtime/handlers/handle-threads.ts +0 -11
- package/src/v2/runtime/handlers/handle-transcribe.ts +0 -269
- package/src/v2/runtime/handlers/header-utils.ts +0 -24
- package/src/v2/runtime/handlers/intelligence/connect.ts +0 -102
- package/src/v2/runtime/handlers/intelligence/run.ts +0 -351
- package/src/v2/runtime/handlers/intelligence/thread-names.ts +0 -246
- package/src/v2/runtime/handlers/intelligence/threads.ts +0 -420
- package/src/v2/runtime/handlers/shared/agent-utils.ts +0 -154
- package/src/v2/runtime/handlers/shared/intelligence-utils.ts +0 -41
- package/src/v2/runtime/handlers/shared/json-response.ts +0 -9
- package/src/v2/runtime/handlers/shared/resolve-intelligence-user.ts +0 -28
- package/src/v2/runtime/handlers/shared/sse-response.ts +0 -215
- package/src/v2/runtime/handlers/sse/__tests__/sse-connect-agent-id.test.ts +0 -71
- package/src/v2/runtime/handlers/sse/connect.ts +0 -30
- package/src/v2/runtime/handlers/sse/run.ts +0 -40
- package/src/v2/runtime/hono.ts +0 -2
- package/src/v2/runtime/index.ts +0 -51
- package/src/v2/runtime/intelligence-platform/__tests__/client.test.ts +0 -601
- package/src/v2/runtime/intelligence-platform/__tests__/intelligence-mcp-helper.test.ts +0 -246
- package/src/v2/runtime/intelligence-platform/client.ts +0 -818
- package/src/v2/runtime/intelligence-platform/index.ts +0 -10
- package/src/v2/runtime/node.ts +0 -6
- package/src/v2/runtime/open-generative-ui-middleware.ts +0 -373
- package/src/v2/runtime/runner/__tests__/finalize-events.test.ts +0 -109
- package/src/v2/runtime/runner/__tests__/in-memory-runner.e2e.test.ts +0 -775
- package/src/v2/runtime/runner/__tests__/in-memory-runner.test.ts +0 -777
- package/src/v2/runtime/runner/__tests__/intelligence-runner.test.ts +0 -1039
- package/src/v2/runtime/runner/agent-runner.ts +0 -35
- package/src/v2/runtime/runner/in-memory.ts +0 -467
- package/src/v2/runtime/runner/index.ts +0 -4
- package/src/v2/runtime/runner/intelligence.ts +0 -498
- package/src/v2/runtime/telemetry/__tests__/instance-created.test.ts +0 -96
- package/src/v2/runtime/telemetry/events.ts +0 -35
- package/src/v2/runtime/telemetry/index.ts +0 -7
- package/src/v2/runtime/telemetry/instance-created.ts +0 -44
- package/src/v2/runtime/telemetry/scarf-client.ts +0 -39
- package/src/v2/runtime/telemetry/telemetry-client.ts +0 -70
- package/src/v2/runtime/transcription-service/transcription-service.ts +0 -11
- package/tests/global.d.ts +0 -1
- package/tests/service-adapters/anthropic/allowlist-approach.test.ts +0 -259
- package/tests/service-adapters/anthropic/anthropic-adapter-language-model.test.ts +0 -101
- package/tests/service-adapters/anthropic/anthropic-adapter.test.ts +0 -645
- package/tests/service-adapters/anthropic/utils-token-trimming.test.ts +0 -301
- package/tests/service-adapters/groq/groq-adapter-language-model.test.ts +0 -102
- package/tests/service-adapters/openai/allowlist-approach.test.ts +0 -294
- package/tests/service-adapters/openai/openai-adapter-language-model.test.ts +0 -122
- package/tests/service-adapters/openai/openai-adapter.test.ts +0 -291
- package/tests/service-adapters/shared/sdk-client-utils.test.ts +0 -36
- package/tests/setup.vitest.ts +0 -8
- package/tests/tsconfig.json +0 -10
- package/tsconfig.json +0 -20
- package/tsdown.config.ts +0 -45
- package/typedoc.json +0 -4
- package/vitest.config.mjs +0 -13
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# CopilotKit — Wire External Agent Frameworks
|
|
2
|
+
|
|
3
|
+
`CopilotRuntime` takes any `AbstractAgent` subclass. Every framework below ships a
|
|
4
|
+
ready-made subclass you construct and hand to `agents: { ... }`.
|
|
5
|
+
|
|
6
|
+
| Framework | Package | Construct |
|
|
7
|
+
| ------------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
8
|
+
| Mastra | `@ag-ui/mastra` | `MastraAgent.getLocalAgents({ mastra, resourceId? })` (record; `resourceId` required only when the agent has Memory enabled) |
|
|
9
|
+
| LangGraph | `@ag-ui/langgraph` | `new LangGraphAgent({ deploymentUrl, graphId })` |
|
|
10
|
+
| CrewAI Crews | `@ag-ui/crewai` | `new CrewAIAgent({ url })` |
|
|
11
|
+
| CrewAI Flows | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
12
|
+
| PydanticAI | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
13
|
+
| Google ADK | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
14
|
+
| LlamaIndex | `@ag-ui/llamaindex` | `new LlamaIndexAgent({ url: ".../run" })` (`/run` suffix) |
|
|
15
|
+
| Agno | `@ag-ui/agno` | `new AgnoAgent({ url: ".../agui" })` (`/agui` suffix) |
|
|
16
|
+
| AWS Strands | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
17
|
+
| Microsoft Agent Framework | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
18
|
+
| AG2 | `@ag-ui/client` (HttpAgent) | `new HttpAgent({ url })` |
|
|
19
|
+
| A2A | `@ag-ui/a2a` | `new A2AAgent({ a2aClient })` (pre-built `A2AClient`, not a URL) |
|
|
20
|
+
|
|
21
|
+
MCP Apps is NOT a framework — it's a runtime middleware:
|
|
22
|
+
`new CopilotRuntime({ agents, mcpApps: { servers: [...] } })`. See
|
|
23
|
+
[wiring-mcp-apps-middleware.md](wiring-mcp-apps-middleware.md).
|
|
24
|
+
|
|
25
|
+
## Setup
|
|
26
|
+
|
|
27
|
+
Generic shape for every framework:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import {
|
|
31
|
+
CopilotRuntime,
|
|
32
|
+
createCopilotRuntimeHandler,
|
|
33
|
+
} from "@copilotkit/runtime/v2";
|
|
34
|
+
import { HttpAgent } from "@ag-ui/client";
|
|
35
|
+
|
|
36
|
+
const runtime = new CopilotRuntime({
|
|
37
|
+
agents: {
|
|
38
|
+
default: new HttpAgent({ url: process.env.AGENT_URL! }),
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const handler = createCopilotRuntimeHandler({
|
|
43
|
+
runtime,
|
|
44
|
+
basePath: "/api/copilotkit",
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export default { fetch: handler };
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Core Patterns
|
|
51
|
+
|
|
52
|
+
### Mastra (local agents)
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
import {
|
|
56
|
+
CopilotRuntime,
|
|
57
|
+
createCopilotRuntimeHandler,
|
|
58
|
+
} from "@copilotkit/runtime/v2";
|
|
59
|
+
import { MastraAgent } from "@ag-ui/mastra";
|
|
60
|
+
import { mastra } from "./mastra";
|
|
61
|
+
|
|
62
|
+
const runtime = new CopilotRuntime({
|
|
63
|
+
// resourceId scopes Mastra Memory's working-memory buckets. Required when
|
|
64
|
+
// the Mastra agent has Memory enabled (the runtime always supplies a
|
|
65
|
+
// threadId, so Memory-enabled agents effectively always need it). Agents
|
|
66
|
+
// without Memory can omit it — `examples/integrations/mastra` calls
|
|
67
|
+
// `getLocalAgents({ mastra })` with no resourceId. See wiring-mastra.md.
|
|
68
|
+
agents: MastraAgent.getLocalAgents({ mastra, resourceId: "default" }),
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const handler = createCopilotRuntimeHandler({
|
|
72
|
+
runtime,
|
|
73
|
+
basePath: "/api/copilotkit",
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export default { fetch: handler };
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
See [wiring-mastra.md](wiring-mastra.md).
|
|
80
|
+
|
|
81
|
+
### LangGraph
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
import {
|
|
85
|
+
CopilotRuntime,
|
|
86
|
+
createCopilotRuntimeHandler,
|
|
87
|
+
} from "@copilotkit/runtime/v2";
|
|
88
|
+
import { LangGraphAgent } from "@ag-ui/langgraph";
|
|
89
|
+
|
|
90
|
+
const runtime = new CopilotRuntime({
|
|
91
|
+
agents: {
|
|
92
|
+
supportAgent: new LangGraphAgent({
|
|
93
|
+
deploymentUrl: process.env.LANGGRAPH_URL!,
|
|
94
|
+
graphId: "support",
|
|
95
|
+
langsmithApiKey: process.env.LANGSMITH_API_KEY,
|
|
96
|
+
}),
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
const handler = createCopilotRuntimeHandler({
|
|
101
|
+
runtime,
|
|
102
|
+
basePath: "/api/copilotkit",
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
export default { fetch: handler };
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
See [wiring-langgraph.md](wiring-langgraph.md).
|
|
109
|
+
|
|
110
|
+
### Multi-framework single runtime
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import {
|
|
114
|
+
CopilotRuntime,
|
|
115
|
+
createCopilotRuntimeHandler,
|
|
116
|
+
} from "@copilotkit/runtime/v2";
|
|
117
|
+
import { LangGraphAgent } from "@ag-ui/langgraph";
|
|
118
|
+
import { CrewAIAgent } from "@ag-ui/crewai";
|
|
119
|
+
import { HttpAgent } from "@ag-ui/client";
|
|
120
|
+
|
|
121
|
+
const runtime = new CopilotRuntime({
|
|
122
|
+
agents: {
|
|
123
|
+
research: new LangGraphAgent({
|
|
124
|
+
deploymentUrl: process.env.LANGGRAPH_URL!,
|
|
125
|
+
graphId: "research",
|
|
126
|
+
}),
|
|
127
|
+
writer: new CrewAIAgent({ url: process.env.CREWAI_URL! }),
|
|
128
|
+
translator: new HttpAgent({ url: process.env.PYDANTIC_AI_URL! }),
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
const handler = createCopilotRuntimeHandler({
|
|
133
|
+
runtime,
|
|
134
|
+
basePath: "/api/copilotkit",
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
export default { fetch: handler };
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### MCP Apps (runtime middleware, not an agent)
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
import {
|
|
144
|
+
CopilotRuntime,
|
|
145
|
+
createCopilotRuntimeHandler,
|
|
146
|
+
BuiltInAgent,
|
|
147
|
+
} from "@copilotkit/runtime/v2";
|
|
148
|
+
|
|
149
|
+
const runtime = new CopilotRuntime({
|
|
150
|
+
agents: {
|
|
151
|
+
default: new BuiltInAgent({ model: "openai/gpt-4o" }),
|
|
152
|
+
},
|
|
153
|
+
mcpApps: {
|
|
154
|
+
servers: [{ type: "http", url: "https://mcp.example.com/mcp" }],
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
const handler = createCopilotRuntimeHandler({
|
|
159
|
+
runtime,
|
|
160
|
+
basePath: "/api/copilotkit",
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
export default { fetch: handler };
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Common Mistakes
|
|
167
|
+
|
|
168
|
+
### HIGH Using runtimeUrl as the agent URL
|
|
169
|
+
|
|
170
|
+
Wrong:
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
import { LangGraphAgent } from "@ag-ui/langgraph";
|
|
174
|
+
|
|
175
|
+
new LangGraphAgent({ deploymentUrl: "/api/copilotkit", graphId: "agent" });
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Correct:
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
new LangGraphAgent({
|
|
182
|
+
deploymentUrl: process.env.LANGGRAPH_URL!,
|
|
183
|
+
graphId: "agent",
|
|
184
|
+
});
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
External agents take their own upstream URL — the framework's server or deployment. The
|
|
188
|
+
CopilotKit runtime URL (`/api/copilotkit`) is the frontend↔runtime hop, not the
|
|
189
|
+
runtime↔agent hop.
|
|
190
|
+
|
|
191
|
+
Source: `docs/integrations/langgraph/quickstart.mdx:355`.
|
|
192
|
+
|
|
193
|
+
### HIGH Wrapping MastraAgent.getLocalAgents in a key
|
|
194
|
+
|
|
195
|
+
Wrong:
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
new CopilotRuntime({
|
|
199
|
+
agents: {
|
|
200
|
+
mastra: MastraAgent.getLocalAgents({ mastra, resourceId: "default" }),
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Correct:
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
new CopilotRuntime({
|
|
209
|
+
agents: MastraAgent.getLocalAgents({ mastra, resourceId: "default" }),
|
|
210
|
+
});
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
`MastraAgent.getLocalAgents` already returns a `Record<string, AbstractAgent>`. Wrapping
|
|
214
|
+
it turns the record into a nested value on one key, which fails the registry's shape check.
|
|
215
|
+
|
|
216
|
+
Source: `docs/integrations/mastra/quickstart.mdx:213-220`.
|
|
217
|
+
|
|
218
|
+
### MEDIUM Missing /run or /agui suffix on LlamaIndex / Agno
|
|
219
|
+
|
|
220
|
+
Wrong:
|
|
221
|
+
|
|
222
|
+
```typescript
|
|
223
|
+
import { LlamaIndexAgent } from "@ag-ui/llamaindex";
|
|
224
|
+
import { AgnoAgent } from "@ag-ui/agno";
|
|
225
|
+
|
|
226
|
+
new LlamaIndexAgent({ url: "http://localhost:8000" });
|
|
227
|
+
new AgnoAgent({ url: "http://localhost:8000" });
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Correct:
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
new LlamaIndexAgent({ url: "http://localhost:8000/run" });
|
|
234
|
+
new AgnoAgent({ url: "http://localhost:8000/agui" });
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
LlamaIndex requires a `/run` suffix, Agno requires `/agui`. The generic HttpAgent fallback
|
|
238
|
+
would 404 without these.
|
|
239
|
+
|
|
240
|
+
Source: `docs/integrations/llamaindex/quickstart.mdx:258`;
|
|
241
|
+
`docs/integrations/agno/quickstart.mdx:215`.
|
|
242
|
+
|
|
243
|
+
### MEDIUM Passing a URL to A2AAgent instead of an A2AClient
|
|
244
|
+
|
|
245
|
+
Wrong:
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
import { A2AAgent } from "@ag-ui/a2a";
|
|
249
|
+
|
|
250
|
+
new A2AAgent({ url: "https://a2a.example" } as any);
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Correct:
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
import { A2AAgent } from "@ag-ui/a2a";
|
|
257
|
+
import { A2AClient } from "@a2a-js/sdk/client";
|
|
258
|
+
|
|
259
|
+
const a2aClient = new A2AClient("https://a2a.example");
|
|
260
|
+
new A2AAgent({ a2aClient });
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
`A2AAgent` expects a pre-built `A2AClient` instance — A2A has its own handshake that
|
|
264
|
+
the client handles.
|
|
265
|
+
|
|
266
|
+
Source: `examples/integrations/a2a-a2ui/app/api/copilotkit/[[...slug]]/route.tsx:12`.
|
|
267
|
+
|
|
268
|
+
### HIGH Treating MCP Apps as an agent
|
|
269
|
+
|
|
270
|
+
Wrong:
|
|
271
|
+
|
|
272
|
+
```typescript
|
|
273
|
+
new CopilotRuntime({
|
|
274
|
+
agents: {
|
|
275
|
+
mcpApps: new MCPAppsAgent({
|
|
276
|
+
/* ... */
|
|
277
|
+
} as any),
|
|
278
|
+
} as any,
|
|
279
|
+
});
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Correct:
|
|
283
|
+
|
|
284
|
+
```typescript
|
|
285
|
+
new CopilotRuntime({
|
|
286
|
+
agents: {
|
|
287
|
+
/* your real agents */
|
|
288
|
+
},
|
|
289
|
+
mcpApps: {
|
|
290
|
+
servers: [{ type: "http", url: "https://mcp.example.com/mcp" }],
|
|
291
|
+
},
|
|
292
|
+
});
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
MCP Apps is runtime-level middleware auto-applied to all agents. Configure via
|
|
296
|
+
`runtime.mcpApps`, not `agents`.
|
|
297
|
+
|
|
298
|
+
Source: `packages/runtime/src/v2/runtime/core/runtime.ts:39-63`.
|
|
299
|
+
|
|
300
|
+
### MEDIUM Passing a framework `client` instead of its Agent wrapper
|
|
301
|
+
|
|
302
|
+
Wrong:
|
|
303
|
+
|
|
304
|
+
```typescript
|
|
305
|
+
import { mastraClient } from "./mastra"; // a Mastra client object
|
|
306
|
+
|
|
307
|
+
new CopilotRuntime({
|
|
308
|
+
agents: { default: mastraClient as any },
|
|
309
|
+
});
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Correct:
|
|
313
|
+
|
|
314
|
+
```typescript
|
|
315
|
+
import { MastraAgent } from "@ag-ui/mastra";
|
|
316
|
+
import { mastra } from "./mastra";
|
|
317
|
+
|
|
318
|
+
new CopilotRuntime({
|
|
319
|
+
agents: MastraAgent.getLocalAgents({ mastra, resourceId: "default" }),
|
|
320
|
+
});
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
`CopilotRuntime` expects `AbstractAgent` subclasses. Framework SDK clients are not
|
|
324
|
+
AbstractAgent instances — always pass the `@ag-ui/<framework>` wrapper or `HttpAgent`.
|
|
325
|
+
|
|
326
|
+
Source: `packages/runtime/src/v2/runtime/core/runtime.ts:111-128`.
|
|
327
|
+
|
|
328
|
+
## References
|
|
329
|
+
|
|
330
|
+
- [Mastra](wiring-mastra.md)
|
|
331
|
+
- [LangGraph](wiring-langgraph.md)
|
|
332
|
+
- [CrewAI Crews](wiring-crewai-crews.md)
|
|
333
|
+
- [CrewAI Flows](wiring-crewai-flows.md)
|
|
334
|
+
- [PydanticAI](wiring-pydantic-ai.md)
|
|
335
|
+
- [Google ADK](wiring-adk.md)
|
|
336
|
+
- [LlamaIndex](wiring-llamaindex.md)
|
|
337
|
+
- [Agno](wiring-agno.md)
|
|
338
|
+
- [AWS Strands](wiring-aws-strands.md)
|
|
339
|
+
- [Microsoft Agent Framework](wiring-ms-agent-framework.md)
|
|
340
|
+
- [AG2](wiring-ag2.md)
|
|
341
|
+
- [A2A](wiring-a2a.md)
|
|
342
|
+
- [MCP Apps middleware](wiring-mcp-apps-middleware.md)
|
|
343
|
+
|
|
344
|
+
## See also
|
|
345
|
+
|
|
346
|
+
- `copilotkit/setup-endpoint` — mount the runtime that fronts these agents
|
|
347
|
+
- `copilotkit/built-in-agent` — alternative when you want an in-tree agent
|
|
348
|
+
- `copilotkit/agent-runners` — runner choice is independent of framework
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
LangGraph — wired via `@ag-ui/langgraph`. Supports LangGraph Platform deployments and
|
|
2
|
+
self-hosted LangGraph servers.
|
|
3
|
+
|
|
4
|
+
## Install
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
pnpm add @ag-ui/langgraph
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Minimal wire-up
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import {
|
|
14
|
+
CopilotRuntime,
|
|
15
|
+
createCopilotRuntimeHandler,
|
|
16
|
+
} from "@copilotkit/runtime/v2";
|
|
17
|
+
import { LangGraphAgent } from "@ag-ui/langgraph";
|
|
18
|
+
|
|
19
|
+
const runtime = new CopilotRuntime({
|
|
20
|
+
agents: {
|
|
21
|
+
default: new LangGraphAgent({
|
|
22
|
+
deploymentUrl: process.env.LANGGRAPH_URL!,
|
|
23
|
+
graphId: "agent",
|
|
24
|
+
langsmithApiKey: process.env.LANGSMITH_API_KEY, // optional
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const handler = createCopilotRuntimeHandler({
|
|
30
|
+
runtime,
|
|
31
|
+
basePath: "/api/copilotkit",
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export default { fetch: handler };
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Config fields
|
|
38
|
+
|
|
39
|
+
| Field | Notes |
|
|
40
|
+
| ----------------- | --------------------------------------------------------------------- |
|
|
41
|
+
| `deploymentUrl` | Base URL of the LangGraph Platform deployment (or self-hosted server) |
|
|
42
|
+
| `graphId` | The graph name registered with the deployment (e.g. `"agent"`) |
|
|
43
|
+
| `langsmithApiKey` | Optional — enables LangSmith tracing |
|
|
44
|
+
|
|
45
|
+
## Gotcha — `deploymentUrl` is NOT the CopilotKit runtime URL
|
|
46
|
+
|
|
47
|
+
The most common mistake is setting `deploymentUrl` to `/api/copilotkit`. That is the
|
|
48
|
+
frontend↔runtime URL, not the LangGraph server. Use the actual LangGraph deployment URL.
|
|
49
|
+
|
|
50
|
+
Source: `docs/content/docs/integrations/langgraph/quickstart.mdx:355`.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
LlamaIndex — wired via `@ag-ui/llamaindex`. Requires a `/run` URL suffix.
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm add @ag-ui/llamaindex
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Minimal wire-up
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
import {
|
|
13
|
+
CopilotRuntime,
|
|
14
|
+
createCopilotRuntimeHandler,
|
|
15
|
+
} from "@copilotkit/runtime/v2";
|
|
16
|
+
import { LlamaIndexAgent } from "@ag-ui/llamaindex";
|
|
17
|
+
|
|
18
|
+
const runtime = new CopilotRuntime({
|
|
19
|
+
agents: {
|
|
20
|
+
default: new LlamaIndexAgent({
|
|
21
|
+
url: process.env.LLAMAINDEX_URL ?? "http://localhost:8000/run",
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const handler = createCopilotRuntimeHandler({
|
|
27
|
+
runtime,
|
|
28
|
+
basePath: "/api/copilotkit",
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export default { fetch: handler };
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Gotcha — the `/run` suffix is mandatory
|
|
35
|
+
|
|
36
|
+
LlamaIndex's AG-UI adapter mounts its workflow endpoint at `/run`. Pointing `url` at the
|
|
37
|
+
server root (`http://localhost:8000`) returns 404. Always include `/run`.
|
|
38
|
+
|
|
39
|
+
Source: `docs/content/docs/integrations/llamaindex/quickstart.mdx:258`.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Mastra — local-first TypeScript agent framework wired via `@ag-ui/mastra`.
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm add @ag-ui/mastra
|
|
7
|
+
# plus your Mastra SDK:
|
|
8
|
+
pnpm add @mastra/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Minimal wire-up
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import {
|
|
15
|
+
CopilotRuntime,
|
|
16
|
+
createCopilotRuntimeHandler,
|
|
17
|
+
} from "@copilotkit/runtime/v2";
|
|
18
|
+
import { MastraAgent } from "@ag-ui/mastra";
|
|
19
|
+
import { Mastra } from "@mastra/core";
|
|
20
|
+
import { weatherAgent } from "./agents/weather"; // your Mastra agent
|
|
21
|
+
|
|
22
|
+
const mastra = new Mastra({
|
|
23
|
+
agents: { weather: weatherAgent },
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const runtime = new CopilotRuntime({
|
|
27
|
+
agents: MastraAgent.getLocalAgents({
|
|
28
|
+
mastra,
|
|
29
|
+
// Required ONLY when your Mastra agent has Memory enabled AND a threadId
|
|
30
|
+
// is supplied (the runtime always supplies a threadId, so Memory-enabled
|
|
31
|
+
// agents effectively always need this). Passing an empty string throws
|
|
32
|
+
// AGENT_MEMORY_MISSING_RESOURCE_ID on every turn. Agents without Memory
|
|
33
|
+
// can omit resourceId — e.g. the in-tree `examples/integrations/mastra`
|
|
34
|
+
// quickstart calls `MastraAgent.getLocalAgents({ mastra })` with no
|
|
35
|
+
// resourceId. Pick a stable per-user identifier in production; a literal
|
|
36
|
+
// "default" is fine as a placeholder for single-tenant demos.
|
|
37
|
+
resourceId: "default",
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const handler = createCopilotRuntimeHandler({
|
|
42
|
+
runtime,
|
|
43
|
+
basePath: "/api/copilotkit",
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export default { fetch: handler };
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Remote Mastra server
|
|
50
|
+
|
|
51
|
+
If Mastra is running as a separate HTTP service, the simplest wiring is the
|
|
52
|
+
generic `HttpAgent` from `@ag-ui/client` — it speaks the AG-UI protocol that
|
|
53
|
+
Mastra's HTTP server already emits:
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import { HttpAgent } from "@ag-ui/client";
|
|
57
|
+
|
|
58
|
+
const runtime = new CopilotRuntime({
|
|
59
|
+
agents: {
|
|
60
|
+
weather: new HttpAgent({ url: `${process.env.MASTRA_URL!}/weather` }),
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Gotcha — do NOT wrap the record
|
|
66
|
+
|
|
67
|
+
`getLocalAgents` already returns `Record<string, AbstractAgent>`. Wrapping it in a key
|
|
68
|
+
(`{ mastra: getLocalAgents(...) }`) breaks the registry.
|
|
69
|
+
|
|
70
|
+
Source: `docs/content/docs/integrations/mastra/quickstart.mdx:213-220`.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
MCP Apps — runtime-level middleware that auto-applies to all agents. NOT an agent.
|
|
2
|
+
|
|
3
|
+
MCP Apps lets any agent in the runtime access tools from external MCP servers. It is
|
|
4
|
+
configured on `CopilotRuntime` directly, not as an entry in `agents`.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
MCP support is provided by the runtime directly — no extra package install for the
|
|
9
|
+
middleware itself. Your MCP servers are separate services you point at.
|
|
10
|
+
|
|
11
|
+
## Minimal wire-up
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import {
|
|
15
|
+
CopilotRuntime,
|
|
16
|
+
createCopilotRuntimeHandler,
|
|
17
|
+
BuiltInAgent,
|
|
18
|
+
} from "@copilotkit/runtime/v2";
|
|
19
|
+
|
|
20
|
+
const runtime = new CopilotRuntime({
|
|
21
|
+
agents: {
|
|
22
|
+
default: new BuiltInAgent({ model: "openai/gpt-4o", maxSteps: 5 }),
|
|
23
|
+
},
|
|
24
|
+
mcpApps: {
|
|
25
|
+
servers: [
|
|
26
|
+
{
|
|
27
|
+
type: "http",
|
|
28
|
+
url: "https://mcp.example.com/mcp",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: "http",
|
|
32
|
+
url: "https://another-mcp.example.com/mcp",
|
|
33
|
+
agentId: "default", // scope this server to one agent only
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const handler = createCopilotRuntimeHandler({
|
|
40
|
+
runtime,
|
|
41
|
+
basePath: "/api/copilotkit",
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export default { fetch: handler };
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Per-agent scoping
|
|
48
|
+
|
|
49
|
+
Each server entry accepts an optional `agentId`. When set, the server's tools are only
|
|
50
|
+
exposed to that agent. Omit it to expose to all agents.
|
|
51
|
+
|
|
52
|
+
## Gotcha — do NOT put MCP under agents
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// WRONG
|
|
56
|
+
new CopilotRuntime({
|
|
57
|
+
agents: {
|
|
58
|
+
mcpApps: new MCPAppsAgent({
|
|
59
|
+
/* ... */
|
|
60
|
+
}),
|
|
61
|
+
} as any,
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
There is no `MCPAppsAgent`. MCP Apps is runtime middleware and belongs on the top-level
|
|
66
|
+
`CopilotRuntime` options.
|
|
67
|
+
|
|
68
|
+
Source: `packages/runtime/src/v2/runtime/core/runtime.ts:39-63`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Microsoft Agent Framework — wired via the bare `HttpAgent` from `@ag-ui/client`.
|
|
2
|
+
Both Python and .NET variants use the same HTTP bridge.
|
|
3
|
+
|
|
4
|
+
## Install
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
pnpm add @ag-ui/client
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Minimal wire-up
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import {
|
|
14
|
+
CopilotRuntime,
|
|
15
|
+
createCopilotRuntimeHandler,
|
|
16
|
+
} from "@copilotkit/runtime/v2";
|
|
17
|
+
import { HttpAgent } from "@ag-ui/client";
|
|
18
|
+
|
|
19
|
+
const runtime = new CopilotRuntime({
|
|
20
|
+
agents: {
|
|
21
|
+
default: new HttpAgent({
|
|
22
|
+
url: process.env.MS_AGENT_URL!, // Python or .NET AG-UI endpoint
|
|
23
|
+
}),
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const handler = createCopilotRuntimeHandler({
|
|
28
|
+
runtime,
|
|
29
|
+
basePath: "/api/copilotkit",
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export default { fetch: handler };
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Gotcha — pick the right endpoint path
|
|
36
|
+
|
|
37
|
+
Microsoft Agent Framework ships both Python and .NET adapters. The AG-UI mount path
|
|
38
|
+
depends on which adapter you chose and how you configured it — follow the framework's
|
|
39
|
+
quickstart to find the exact URL. `HttpAgent` simply forwards.
|
|
40
|
+
|
|
41
|
+
Source: `docs/content/docs/integrations/microsoft-agent-framework/quickstart.mdx`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
PydanticAI — wired via the bare `HttpAgent` from `@ag-ui/client`.
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm add @ag-ui/client
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Minimal wire-up
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
import {
|
|
13
|
+
CopilotRuntime,
|
|
14
|
+
createCopilotRuntimeHandler,
|
|
15
|
+
} from "@copilotkit/runtime/v2";
|
|
16
|
+
import { HttpAgent } from "@ag-ui/client";
|
|
17
|
+
|
|
18
|
+
const runtime = new CopilotRuntime({
|
|
19
|
+
agents: {
|
|
20
|
+
default: new HttpAgent({
|
|
21
|
+
url: process.env.PYDANTIC_AI_URL ?? "http://localhost:8000/",
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const handler = createCopilotRuntimeHandler({
|
|
27
|
+
runtime,
|
|
28
|
+
basePath: "/api/copilotkit",
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export default { fetch: handler };
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Server side
|
|
35
|
+
|
|
36
|
+
On the Python side, PydanticAI exposes an AG-UI-compliant endpoint via its built-in
|
|
37
|
+
ASGI adapter. The URL you pass to `HttpAgent` is that endpoint (e.g. an FastAPI route
|
|
38
|
+
that returns a streaming response of AG-UI events).
|
|
39
|
+
|
|
40
|
+
## Gotcha — no suffix required
|
|
41
|
+
|
|
42
|
+
Unlike LlamaIndex (`/run`) and Agno (`/agui`), PydanticAI does not mandate a specific
|
|
43
|
+
sub-path. Whatever path your Python server mounts the AG-UI app at — use that.
|
|
44
|
+
|
|
45
|
+
Source: `docs/content/docs/integrations/pydantic-ai/quickstart.mdx`.
|