feat(rpc): expose token throughput in state
This commit is contained in:
@@ -32,6 +32,7 @@ import { executeAcpBuiltinSlashCommand } from "../../slash-commands/acp-builtins
|
||||
import { buildAvailableSlashCommands } from "../../slash-commands/available-commands";
|
||||
import { defaultLoadModeForToolName } from "../../tools/essential-tools";
|
||||
import type { EventBus } from "../../utils/event-bus";
|
||||
import { calculateTokensPerSecond } from "../../utils/token-rate";
|
||||
import { initializeExtensions } from "../runtime-init";
|
||||
import { isRpcHostToolResult, isRpcHostToolUpdate, RpcHostToolBridge } from "./host-tools";
|
||||
import { isRpcHostUriResult, RpcHostUriBridge } from "./host-uris";
|
||||
@@ -1087,6 +1088,7 @@ export async function runRpcMode(
|
||||
queuedMessageCount: session.queuedMessageCount,
|
||||
todoPhases: session.getTodoPhases(),
|
||||
fastModeEnabled: session.isFastModeEnabled(),
|
||||
tokensPerSecond: calculateTokensPerSecond(session.messages, session.isStreaming),
|
||||
fastModeActive: session.isFastModeActive(),
|
||||
messageCount: session.messages.length,
|
||||
systemPrompt: session.systemPrompt,
|
||||
|
||||
@@ -110,6 +110,7 @@ export interface RpcSessionState {
|
||||
autoCompactionEnabled: boolean;
|
||||
fastModeEnabled: boolean;
|
||||
fastModeActive: boolean;
|
||||
tokensPerSecond: number | null;
|
||||
messageCount: number;
|
||||
queuedMessageCount: number;
|
||||
todoPhases: TodoPhase[];
|
||||
|
||||
@@ -326,6 +326,7 @@ describe("RpcInputDispatcher", () => {
|
||||
autoCompactionEnabled: false,
|
||||
fastModeEnabled: false,
|
||||
fastModeActive: false,
|
||||
tokensPerSecond: null,
|
||||
messageCount: 0,
|
||||
queuedMessageCount: 0,
|
||||
todoPhases: [],
|
||||
|
||||
@@ -59,6 +59,7 @@ describe.skipIf(!e2eApiKey("ANTHROPIC_API_KEY"))("RPC mode", () => {
|
||||
expect(state.model?.id).toBe("claude-sonnet-4-5");
|
||||
expect(state.isStreaming).toBe(false);
|
||||
expect(state.messageCount).toBe(0);
|
||||
expect(state.tokensPerSecond).toBeNull();
|
||||
}, 30000);
|
||||
|
||||
test("should set fast mode and expose enabled/active state", async () => {
|
||||
|
||||
Reference in New Issue
Block a user