@neeter/react
Advanced tools
+3
-1
@@ -1,2 +0,2 @@ | ||
| import type { ChatMessage, PermissionRequest, SSEEvent } from "@neeter/types"; | ||
| import type { ChatMessage, McpServerStatus, PermissionRequest, SSEEvent } from "@neeter/types"; | ||
| import { type StoreApi } from "zustand/vanilla"; | ||
@@ -12,2 +12,3 @@ interface ChatStoreState { | ||
| pendingPermissions: PermissionRequest[]; | ||
| mcpServers: McpServerStatus[]; | ||
| totalCost: number; | ||
@@ -34,2 +35,3 @@ totalTurns: number; | ||
| removePermissionRequest: (requestId: string) => void; | ||
| setMcpServers: (servers: McpServerStatus[]) => void; | ||
| addCost: (cost: number, turns: number) => void; | ||
@@ -36,0 +38,0 @@ cancelInflightToolCalls: () => void; |
+7
-0
@@ -29,2 +29,3 @@ import { immer } from "zustand/middleware/immer"; | ||
| pendingPermissions: [], | ||
| mcpServers: [], | ||
| totalCost: 0, | ||
@@ -142,2 +143,5 @@ totalTurns: 0, | ||
| }), | ||
| setMcpServers: (servers) => set((s) => { | ||
| s.mcpServers = servers; | ||
| }), | ||
| addCost: (cost, turns) => set((s) => { | ||
@@ -170,2 +174,3 @@ s.totalCost += cost; | ||
| s.pendingPermissions = []; | ||
| s.mcpServers = []; | ||
| s.totalCost = 0; | ||
@@ -191,2 +196,4 @@ s.totalTurns = 0; | ||
| s.setSdkSessionId(data.sdkSessionId); | ||
| if (data.mcpServers) | ||
| s.setMcpServers(data.mcpServers); | ||
| break; | ||
@@ -193,0 +200,0 @@ case "thinking_delta": |
@@ -57,4 +57,6 @@ import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from "react"; | ||
| es.addEventListener("session_init", (e) => { | ||
| const { sdkSessionId: id } = JSON.parse(e.data); | ||
| const { sdkSessionId: id, mcpServers } = JSON.parse(e.data); | ||
| store.getState().setSdkSessionId(id); | ||
| if (mcpServers) | ||
| store.getState().setMcpServers(mcpServers); | ||
| }); | ||
@@ -61,0 +63,0 @@ es.addEventListener("message_start", () => { |
+2
-2
| { | ||
| "name": "@neeter/react", | ||
| "version": "0.10.10", | ||
| "version": "0.10.11", | ||
| "description": "React components and hooks for building chat UIs on top of the Claude Agent SDK", | ||
@@ -29,3 +29,3 @@ "license": "MIT", | ||
| "tailwind-merge": "^3.5.0", | ||
| "@neeter/types": "0.10.10" | ||
| "@neeter/types": "0.10.11" | ||
| }, | ||
@@ -32,0 +32,0 @@ "peerDependencies": { |
102654
0.44%1968
0.56%+ Added
- Removed
Updated