diff --git a/docs/snippets/shared/premium/self-hosting.mdx b/docs/snippets/shared/premium/self-hosting.mdx
index 55ae8e91efd..7864bc2ecc0 100644
--- a/docs/snippets/shared/premium/self-hosting.mdx
+++ b/docs/snippets/shared/premium/self-hosting.mdx
@@ -21,6 +21,14 @@ CopilotKit Intelligence — the platform that powers threads, shared state, the
Plus a `database-migrations` Job, a `thread-culler` CronJob, and the usual supporting resources (Services, Ingress, HPAs, PodDisruptionBudgets, ConfigMaps, and — when ESO is enabled — ExternalSecret resources).
+
+The Intelligence Platform image also includes an opt-in user memory
+capability: agents can recall information from prior conversations in the
+same project (e.g. *"what did we discuss earlier?"*, *"remind me about X"*).
+Currently supported with the Built-in Agent runtime. Reach out to your
+CopilotKit contact for access; see [Configuration reference → User memory](#user-memory-closed-beta) below for the enablement variables.
+
+
## When should I use this?
- Your organization requires CopilotKit Intelligence to run inside your own VPC or data center for compliance, data residency, or security reasons
@@ -474,6 +482,44 @@ The tables below summarize the most common values. For every option, see `values
Enabling the realtime gateway requires that either `realtimeGateway.existingSecret` is set, or that `externalSecrets.secrets.realtimeGateway.enabled` or `selfHostedSecrets.enabled` is `true` — the chart fails validation otherwise.
+### User memory (closed beta)
+
+
+
+User memory lets agents recall information from prior conversations in the same project. Built-in Agent runtime only today; LangGraph, Mastra, and other frameworks are in development.
+
+**What it does.** The chat agent can recall the user's prior conversations and use that recall to answer questions like:
+
+- *"What did we discuss last week?"*
+- *"Remind me what I decided about X"*
+- *"Have we covered Y before?"*
+
+**Scope.** Only the current user's conversations in the current `(organization, project)`. The agent never sees another user's conversations or another project's data, and it cannot modify what was said.
+
+**Discovery.** The agent will use the capability on its own when asked recall-style questions; for best results, add one line to your agent's `prompt` nudging it to consult its memory when relevant.
+
+**Enabling it.** Two flips, one on each side:
+
+| Where | How |
+|---|---|
+| `app-api` (platform) | Set `SL_ENABLED=true` via `appApi.env: [{ name: SL_ENABLED, value: "true" }]` in your `values.yaml`. This mounts the platform's `/mcp` endpoint on `app-api`. |
+| Your runtime / BFF | Pass `mcpServer: true` when constructing `CopilotKitIntelligence` from `@copilotkit/runtime/v2`. The runtime then auto-attaches the platform's `/mcp` endpoint to every `BuiltInAgent` run. |
+
+```typescript title="runtime.ts"
+import { CopilotKitIntelligence } from "@copilotkit/runtime/v2";
+
+const intelligence = new CopilotKitIntelligence({
+ apiKey: process.env.INTELLIGENCE_API_KEY!,
+ apiUrl: process.env.INTELLIGENCE_API_URL!,
+ wsUrl: process.env.INTELLIGENCE_GATEWAY_WS_URL!,
+ mcpServer: true, // [!code highlight]
+});
+```
+
+Once both flips are in place the agent gains recall on its next turn — no further application changes needed.
+
+
+
### External Secrets Operator integration
| Key | Description | Default |
diff --git a/packages/a2ui-renderer/package.json b/packages/a2ui-renderer/package.json
index 466bce649a8..7d04efe10a6 100644
--- a/packages/a2ui-renderer/package.json
+++ b/packages/a2ui-renderer/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/a2ui-renderer",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"description": "A2UI Renderer for CopilotKit - render A2UI surfaces in React applications",
"keywords": [
diff --git a/packages/agentcore-runner/package.json b/packages/agentcore-runner/package.json
index 428f6a2df65..8e5b80f307a 100644
--- a/packages/agentcore-runner/package.json
+++ b/packages/agentcore-runner/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/agentcore-runner",
- "version": "1.57.3",
+ "version": "1.57.4",
"description": "AWS Bedrock AgentCore-compatible agent runner for CopilotKit2",
"type": "module",
"main": "./dist/index.cjs",
diff --git a/packages/core/package.json b/packages/core/package.json
index b508fedef4b..c1ffca83f59 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/core",
- "version": "1.57.3",
+ "version": "1.57.4",
"description": "Core web utilities for CopilotKit2",
"type": "module",
"main": "./dist/index.cjs",
diff --git a/packages/react-core/package.json b/packages/react-core/package.json
index 208c5040042..0d91a3aced9 100644
--- a/packages/react-core/package.json
+++ b/packages/react-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/react-core",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/react-native/package.json b/packages/react-native/package.json
index 2042368932d..3666ccc107b 100644
--- a/packages/react-native/package.json
+++ b/packages/react-native/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/react-native",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/react-textarea/package.json b/packages/react-textarea/package.json
index 8c882f6e4fb..51013342454 100644
--- a/packages/react-textarea/package.json
+++ b/packages/react-textarea/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/react-textarea",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/react-ui/package.json b/packages/react-ui/package.json
index 8517164aa1e..af7aaaa2e66 100644
--- a/packages/react-ui/package.json
+++ b/packages/react-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/react-ui",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/runtime-client-gql/package.json b/packages/runtime-client-gql/package.json
index 09302ea3abe..6f231eb2dad 100644
--- a/packages/runtime-client-gql/package.json
+++ b/packages/runtime-client-gql/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/runtime-client-gql",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/runtime/package.json b/packages/runtime/package.json
index 14725e0040a..55207731918 100644
--- a/packages/runtime/package.json
+++ b/packages/runtime/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/runtime",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/runtime/src/v2/runtime/__tests__/agent-utils-header-forwarding.test.ts b/packages/runtime/src/v2/runtime/__tests__/agent-utils-header-forwarding.test.ts
new file mode 100644
index 00000000000..5370e3d130b
--- /dev/null
+++ b/packages/runtime/src/v2/runtime/__tests__/agent-utils-header-forwarding.test.ts
@@ -0,0 +1,188 @@
+import { describe, it, expect } from "vitest";
+import { configureAgentForRequest } from "../handlers/shared/agent-utils";
+import type { AbstractAgent } from "@ag-ui/client";
+import type { CopilotRuntimeLike } from "../core/runtime";
+
+/**
+ * Minimal agent stub that satisfies the MiddlewareCapableAgent shape
+ * used inside configureAgentForRequest.
+ */
+function createMockAgent(headers?: Record): AbstractAgent {
+ return {
+ headers,
+ // configureAgentForRequest checks `typeof agent.use === "function"`
+ use: () => {},
+ } as unknown as AbstractAgent;
+}
+
+function createMockRuntime(): CopilotRuntimeLike {
+ return {
+ agents: Promise.resolve({}),
+ } as unknown as CopilotRuntimeLike;
+}
+
+function createRequest(headers: Record): Request {
+ return new Request("https://example.com/agent/test-agent/run", {
+ method: "POST",
+ headers,
+ });
+}
+
+describe("configureAgentForRequest – header forwarding", () => {
+ it("forwards x-aimock-context when agent.headers is undefined (default LangGraphAgent)", () => {
+ const agent = createMockAgent(/* headers = undefined */);
+ const request = createRequest({
+ "Content-Type": "application/json",
+ "x-aimock-context": "langgraph-python",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ // The core regression: before the fix, agent.headers stayed undefined
+ // because the old `if (agent.headers)` guard skipped the assignment.
+ expect((agent as any).headers).toBeDefined();
+ expect((agent as any).headers["x-aimock-context"]).toBe("langgraph-python");
+ });
+
+ it("forwards x-test-id when agent.headers is undefined", () => {
+ const agent = createMockAgent();
+ const request = createRequest({
+ "Content-Type": "application/json",
+ "x-test-id": "run-42",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ expect((agent as any).headers["x-test-id"]).toBe("run-42");
+ });
+
+ it("merges forwardable headers with pre-existing agent.headers", () => {
+ const agent = createMockAgent({
+ "x-existing": "keep-me",
+ authorization: "Bearer original-token",
+ });
+ const request = createRequest({
+ "Content-Type": "application/json",
+ "x-aimock-context": "langgraph-python",
+ "x-test-id": "run-99",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ const headers = (agent as any).headers as Record;
+
+ // Pre-existing headers preserved
+ expect(headers["x-existing"]).toBe("keep-me");
+ expect(headers["authorization"]).toBe("Bearer original-token");
+
+ // Forwardable headers merged in
+ expect(headers["x-aimock-context"]).toBe("langgraph-python");
+ expect(headers["x-test-id"]).toBe("run-99");
+ });
+
+ it("request forwardable headers override matching pre-existing agent headers", () => {
+ const agent = createMockAgent({
+ "x-aimock-context": "old-context",
+ });
+ const request = createRequest({
+ "x-aimock-context": "new-context",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ // The spread order is { ...agent.headers, ...extracted } so request wins
+ expect((agent as any).headers["x-aimock-context"]).toBe("new-context");
+ });
+
+ it("does NOT forward non-forwardable headers like content-type or origin", () => {
+ const agent = createMockAgent();
+ const request = createRequest({
+ "Content-Type": "application/json",
+ Origin: "http://localhost:3000",
+ "User-Agent": "test-runner",
+ Cookie: "session=abc",
+ Host: "example.com",
+ Accept: "text/event-stream",
+ // Only this one should come through
+ "x-aimock-context": "langgraph-python",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ const headers = (agent as any).headers as Record;
+
+ // Non-forwardable headers must NOT be present
+ expect(headers["content-type"]).toBeUndefined();
+ expect(headers["origin"]).toBeUndefined();
+ expect(headers["user-agent"]).toBeUndefined();
+ expect(headers["cookie"]).toBeUndefined();
+ expect(headers["host"]).toBeUndefined();
+ expect(headers["accept"]).toBeUndefined();
+
+ // The x- header IS forwarded
+ expect(headers["x-aimock-context"]).toBe("langgraph-python");
+ });
+
+ it("authorization header IS forwarded (it is in the allowlist)", () => {
+ const agent = createMockAgent();
+ const request = createRequest({
+ Authorization: "Bearer secret-token",
+ "Content-Type": "application/json",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ const headers = (agent as any).headers as Record;
+ expect(headers["authorization"]).toBe("Bearer secret-token");
+ expect(headers["content-type"]).toBeUndefined();
+ });
+
+ it("results in empty headers object when request has no forwardable headers and agent.headers is undefined", () => {
+ const agent = createMockAgent();
+ const request = createRequest({
+ "Content-Type": "application/json",
+ Origin: "http://localhost",
+ });
+
+ configureAgentForRequest({
+ runtime: createMockRuntime(),
+ request,
+ agentId: "test-agent",
+ agent,
+ });
+
+ // Even with no forwardable headers, agent.headers should be set (not undefined)
+ expect((agent as any).headers).toBeDefined();
+ expect((agent as any).headers).toEqual({});
+ });
+});
diff --git a/packages/runtime/src/v2/runtime/handlers/shared/agent-utils.ts b/packages/runtime/src/v2/runtime/handlers/shared/agent-utils.ts
index 32b98bb766f..6bd481ad655 100644
--- a/packages/runtime/src/v2/runtime/handlers/shared/agent-utils.ts
+++ b/packages/runtime/src/v2/runtime/handlers/shared/agent-utils.ts
@@ -86,12 +86,10 @@ export function configureAgentForRequest(params: {
}
}
- if (agent.headers) {
- agent.headers = {
- ...agent.headers,
- ...extractForwardableHeaders(request),
- };
- }
+ agent.headers = {
+ ...agent.headers,
+ ...extractForwardableHeaders(request),
+ };
}
export async function parseRunRequest(
diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json
index 67448323ca7..5e0f282831b 100644
--- a/packages/sdk-js/package.json
+++ b/packages/sdk-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/sdk-js",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 9880764edef..b1bb17e2f1b 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/shared",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"keywords": [
"ai",
diff --git a/packages/sqlite-runner/package.json b/packages/sqlite-runner/package.json
index ff8642a6587..0bb498a7649 100644
--- a/packages/sqlite-runner/package.json
+++ b/packages/sqlite-runner/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/sqlite-runner",
- "version": "1.57.3",
+ "version": "1.57.4",
"description": "SQLite-backed agent runner for CopilotKit2",
"type": "module",
"main": "./dist/index.cjs",
diff --git a/packages/voice/package.json b/packages/voice/package.json
index aa8817d09b1..b380ccb22ca 100644
--- a/packages/voice/package.json
+++ b/packages/voice/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/voice",
- "version": "1.57.3",
+ "version": "1.57.4",
"description": "Voice services for CopilotKit (transcription, text-to-speech, etc.)",
"type": "module",
"main": "./dist/index.cjs",
diff --git a/packages/vue/package.json b/packages/vue/package.json
index d8eb18baf76..5ba28615930 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/vue",
- "version": "1.57.3",
+ "version": "1.57.4",
"private": false,
"description": "Vue 3 components and composables for CopilotKit",
"keywords": [
diff --git a/packages/web-inspector/package.json b/packages/web-inspector/package.json
index dd6421621b7..fc5b0649309 100644
--- a/packages/web-inspector/package.json
+++ b/packages/web-inspector/package.json
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/web-inspector",
- "version": "1.57.3",
+ "version": "1.57.4",
"description": "Lit-based web component for the CopilotKit web inspector",
"type": "module",
"main": "./dist/index.cjs",
diff --git a/sdk-python/copilotkit/copilotkit_lg_middleware.py b/sdk-python/copilotkit/copilotkit_lg_middleware.py
index c922ff54338..ce345970a91 100644
--- a/sdk-python/copilotkit/copilotkit_lg_middleware.py
+++ b/sdk-python/copilotkit/copilotkit_lg_middleware.py
@@ -27,8 +27,28 @@
)
from langgraph.runtime import Runtime
+from .header_propagation import install_httpx_hook
from .langgraph import CopilotKitProperties
+# Track which httpx clients already have the header-propagation hook installed
+# (by object id) so we never double-install on repeated model calls.
+_hooked_clients: set[int] = set()
+
+
+def _ensure_httpx_hook(model: Any) -> None:
+ """Install the header-propagation httpx hook on a LangChain chat model's
+ underlying HTTP client(s), if present. No-op for models that don't expose
+ an httpx transport (e.g. non-OpenAI/Anthropic providers).
+ """
+ for attr in ("client", "async_client"):
+ client = getattr(model, attr, None)
+ if client is None:
+ continue
+ cid = id(client)
+ if cid not in _hooked_clients:
+ install_httpx_hook(client)
+ _hooked_clients.add(cid)
+
class StateSchema(AgentState):
copilotkit: CopilotKitProperties
@@ -152,6 +172,7 @@ def wrap_model_call(
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelResponse:
+ _ensure_httpx_hook(request.model)
request = self._apply_state_note(request)
frontend_tools = request.state.get("copilotkit", {}).get("actions", [])
@@ -340,6 +361,7 @@ async def awrap_model_call(
request: ModelRequest,
handler: Callable[[ModelRequest], Awaitable[ModelResponse]],
) -> ModelResponse:
+ _ensure_httpx_hook(request.model)
self._fix_messages_for_bedrock(request.messages)
request = self._apply_state_note(request)
diff --git a/sdk-python/pyproject.toml b/sdk-python/pyproject.toml
index b8e53bc8d32..56a75dff2af 100644
--- a/sdk-python/pyproject.toml
+++ b/sdk-python/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "copilotkit"
-version = "0.1.88"
+version = "0.1.90"
description = "CopilotKit python SDK"
authors = ["Markus Ecker "]
license = "MIT"
diff --git a/showcase/integrations/ms-agent-python/manifest.yaml b/showcase/integrations/ms-agent-python/manifest.yaml
index 7f97530ad43..e4507a3796c 100644
--- a/showcase/integrations/ms-agent-python/manifest.yaml
+++ b/showcase/integrations/ms-agent-python/manifest.yaml
@@ -31,6 +31,8 @@ features:
- chat-customization-css
- headless-simple
- headless-complete
+ - reasoning-custom
+ - reasoning-default
- frontend-tools
- frontend-tools-async
- hitl
@@ -296,6 +298,28 @@ demos:
- src/app/demos/headless-complete/hooks/use-headless-suggestions.ts
- src/app/demos/headless-complete/attachments/use-attachments-config.ts
- src/app/api/copilotkit/route.ts
+ - id: reasoning-default
+ name: "Reasoning: Default"
+ description: Built-in CopilotChatReasoningMessage rendering with no slot override.
+ tags:
+ - chat-ui
+ route: /demos/reasoning-default
+ highlight:
+ - src/app/demos/reasoning-default/page.tsx
+ - src/app/demos/reasoning-default/suggestions.ts
+ - src/agents/reasoning_agent.py
+ - id: reasoning-custom
+ name: "Reasoning: Custom"
+ description: Visible reasoning/thinking chain alongside the final answer
+ tags:
+ - chat-ui
+ route: /demos/reasoning-custom
+ animated_preview_url:
+ highlight:
+ - src/app/demos/reasoning-custom/page.tsx
+ - src/app/demos/reasoning-custom/reasoning-block.tsx
+ - src/agents/reasoning_agent.py
+ - src/app/api/copilotkit/route.ts
- id: gen-ui-interrupt
name: In-Chat HITL (useInterrupt — low-level primitive)
description: Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle
diff --git a/showcase/integrations/ms-agent-python/src/app/api/copilotkit-mcp-apps/[[...slug]]/route.ts b/showcase/integrations/ms-agent-python/src/app/api/copilotkit-mcp-apps/[[...slug]]/route.ts
index b0488fbe22c..7a112c92788 100644
--- a/showcase/integrations/ms-agent-python/src/app/api/copilotkit-mcp-apps/[[...slug]]/route.ts
+++ b/showcase/integrations/ms-agent-python/src/app/api/copilotkit-mcp-apps/[[...slug]]/route.ts
@@ -25,7 +25,12 @@ import { HttpAgent } from "@ag-ui/client";
const AGENT_URL = process.env.AGENT_URL || "http://localhost:8000";
-const mcpAppsAgent = new HttpAgent({ url: `${AGENT_URL}/mcp-apps/` });
+// No trailing slash on the URL. FastAPI mounts this agent at `/mcp-apps`
+// exactly (via `add_agent_framework_fastapi_endpoint(path="/mcp-apps")` in
+// agent_server.py); posting to `/mcp-apps/` triggers FastAPI's
+// redirect-to-canonical 307, which kills the streaming SSE response and
+// surfaces as `fetch failed` / `INCOMPLETE_STREAM` in the runtime.
+const mcpAppsAgent = new HttpAgent({ url: `${AGENT_URL}/mcp-apps` });
// headless-complete shares this runtime because its cell also exercises
// MCP Apps activity rendering (the "Sketch a diagram" pill exercises the
diff --git a/showcase/integrations/ms-agent-python/src/app/api/copilotkit-voice/[[...slug]]/route.ts b/showcase/integrations/ms-agent-python/src/app/api/copilotkit-voice/[[...slug]]/route.ts
index 12c2996427c..9a273431cd9 100644
--- a/showcase/integrations/ms-agent-python/src/app/api/copilotkit-voice/[[...slug]]/route.ts
+++ b/showcase/integrations/ms-agent-python/src/app/api/copilotkit-voice/[[...slug]]/route.ts
@@ -29,7 +29,13 @@ const AGENT_URL = process.env.AGENT_URL || "http://localhost:8000";
// Point at the tool-free /voice endpoint so aimock returns a direct text
// response instead of a tool call that the agent can't summarize.
-const voiceDemoAgent = new HttpAgent({ url: `${AGENT_URL}/voice/` });
+//
+// No trailing slash on the URL. FastAPI mounts this agent at `/voice`
+// exactly (via `add_agent_framework_fastapi_endpoint(path="/voice")` in
+// agent_server.py); posting to `/voice/` triggers FastAPI's
+// redirect-to-canonical 307, which kills the streaming SSE response and
+// surfaces as `fetch failed` / `INCOMPLETE_STREAM` in the runtime.
+const voiceDemoAgent = new HttpAgent({ url: `${AGENT_URL}/voice` });
/**
* Transcription service wrapper that reports a clean, typed auth error when
diff --git a/showcase/scripts/package-lock.json b/showcase/scripts/package-lock.json
index b2c01b163e2..dca2b364814 100644
--- a/showcase/scripts/package-lock.json
+++ b/showcase/scripts/package-lock.json
@@ -6,7 +6,7 @@
"": {
"name": "@copilotkit/showcase-scripts",
"dependencies": {
- "@copilotkit/aimock": "latest",
+ "@copilotkit/aimock": "1.26.1",
"@playwright/test": "^1.59.1",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
@@ -85,9 +85,9 @@
}
},
"node_modules/@copilotkit/aimock": {
- "version": "1.16.4",
- "resolved": "https://registry.npmjs.org/@copilotkit/aimock/-/aimock-1.16.4.tgz",
- "integrity": "sha512-DA9WjJWpi2Yh36ltsnfMycj+BbifSS9G0pyHw0JjQZQPm41+FziGIdl2gusBtwYebStypQ4v9Jj2rjqjJqqtvQ==",
+ "version": "1.26.1",
+ "resolved": "https://registry.npmjs.org/@copilotkit/aimock/-/aimock-1.26.1.tgz",
+ "integrity": "sha512-bxnXdd4yFVKdbLvXmlcrgXQprimtXeg5SrmZMYvw2BFhfhAwGJmaVhCSv/9gSHUn+m3mxgrRlwJeok7o9Z2Bsw==",
"license": "MIT",
"bin": {
"aimock": "dist/aimock-cli.js",