@copilotkit/runtime
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
285 lines (279 loc) • 9.06 kB
TypeScript
import { TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, RunAgentInput, EventType } from '@ag-ui/client';
import * as rxjs from 'rxjs';
import { LangGraphAgent as LangGraphAgent$1, LangGraphAgentConfig, ProcessedEvents, State, StateEnrichment, SchemaKeys } from '@ag-ui/langgraph';
export { LangGraphHttpAgent } from '@ag-ui/langgraph';
import { Message } from '@langchain/langgraph-sdk/dist/types.messages';
/**
* Constants for LangGraph integration.
* This file is separate from langgraph.agent.ts to avoid pulling in @ag-ui/langgraph
* when only these constants are needed.
*/
type TextMessageEvents = TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent;
type ToolCallEvents = ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent;
declare enum CustomEventNames {
CopilotKitManuallyEmitMessage = "copilotkit_manually_emit_message",
CopilotKitManuallyEmitToolCall = "copilotkit_manually_emit_tool_call",
CopilotKitManuallyEmitIntermediateState = "copilotkit_manually_emit_intermediate_state",
CopilotKitExit = "copilotkit_exit"
}
interface PredictStateTool {
tool: string;
state_key: string;
tool_argument: string;
}
interface CopilotKitStateEnrichment {
copilotkit: {
actions: StateEnrichment["ag-ui"]["tools"];
context: StateEnrichment["ag-ui"]["context"];
};
}
declare class LangGraphAgent extends LangGraphAgent$1 {
constructor(config: LangGraphAgentConfig);
clone(): LangGraphAgent;
dispatchEvent(event: ProcessedEvents): boolean;
run(input: RunAgentInput): rxjs.Observable<{
type: EventType.TEXT_MESSAGE_START;
role: "developer" | "system" | "assistant" | "user";
messageId: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.TEXT_MESSAGE_CONTENT;
messageId: string;
delta: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.TEXT_MESSAGE_END;
messageId: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.TOOL_CALL_START;
toolCallId: string;
toolCallName: string;
timestamp?: number | undefined;
rawEvent?: any;
parentMessageId?: string | undefined;
} | {
type: EventType.TOOL_CALL_ARGS;
toolCallId: string;
delta: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.TOOL_CALL_END;
toolCallId: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.THINKING_TEXT_MESSAGE_START;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.THINKING_TEXT_MESSAGE_CONTENT;
delta: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.THINKING_TEXT_MESSAGE_END;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.TOOL_CALL_RESULT;
content: string;
toolCallId: string;
messageId: string;
role?: "tool" | undefined;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.THINKING_START;
timestamp?: number | undefined;
rawEvent?: any;
title?: string | undefined;
} | {
type: EventType.THINKING_END;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.STATE_SNAPSHOT;
timestamp?: number | undefined;
rawEvent?: any;
snapshot?: any;
} | {
type: EventType.STATE_DELTA;
delta: any[];
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.MESSAGES_SNAPSHOT;
messages: ({
id: string;
role: "developer";
content: string;
name?: string | undefined;
} | {
id: string;
role: "system";
content: string;
name?: string | undefined;
} | {
id: string;
role: "assistant";
name?: string | undefined;
content?: string | undefined;
toolCalls?: {
function: {
name: string;
arguments: string;
};
type: "function";
id: string;
}[] | undefined;
} | {
id: string;
role: "user";
content: string | ({
type: "text";
text: string;
} | {
type: "binary";
mimeType: string;
id?: string | undefined;
url?: string | undefined;
data?: string | undefined;
filename?: string | undefined;
})[];
name?: string | undefined;
} | {
id: string;
role: "tool";
content: string;
toolCallId: string;
error?: string | undefined;
} | {
id: string;
role: "activity";
content: Record<string, any>;
activityType: string;
})[];
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.RAW;
timestamp?: number | undefined;
rawEvent?: any;
event?: any;
source?: string | undefined;
} | {
name: string;
type: EventType.CUSTOM;
value?: any;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.RUN_STARTED;
threadId: string;
runId: string;
parentRunId?: string | undefined;
timestamp?: number | undefined;
rawEvent?: any;
input?: {
threadId: string;
runId: string;
messages: ({
id: string;
role: "developer";
content: string;
name?: string | undefined;
} | {
id: string;
role: "system";
content: string;
name?: string | undefined;
} | {
id: string;
role: "assistant";
name?: string | undefined;
content?: string | undefined;
toolCalls?: {
function: {
name: string;
arguments: string;
};
type: "function";
id: string;
}[] | undefined;
} | {
id: string;
role: "user";
content: string | ({
type: "text";
text: string;
} | {
type: "binary";
mimeType: string;
id?: string | undefined;
url?: string | undefined;
data?: string | undefined;
filename?: string | undefined;
})[];
name?: string | undefined;
} | {
id: string;
role: "tool";
content: string;
toolCallId: string;
error?: string | undefined;
} | {
id: string;
role: "activity";
content: Record<string, any>;
activityType: string;
})[];
tools: {
name: string;
description: string;
parameters?: any;
}[];
context: {
value: string;
description: string;
}[];
parentRunId?: string | undefined;
state?: any;
forwardedProps?: any;
} | undefined;
} | {
type: EventType.RUN_FINISHED;
threadId: string;
runId: string;
timestamp?: number | undefined;
rawEvent?: any;
result?: any;
} | {
message: string;
type: EventType.RUN_ERROR;
code?: string | undefined;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.STEP_STARTED;
stepName: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType.STEP_FINISHED;
stepName: string;
timestamp?: number | undefined;
rawEvent?: any;
} | {
type: EventType;
name: string;
value: any;
}>;
langGraphDefaultMergeState(state: State, messages: Message[], input: RunAgentInput): State<StateEnrichment & CopilotKitStateEnrichment>;
getSchemaKeys(): Promise<SchemaKeys>;
}
export { CustomEventNames, LangGraphAgent, PredictStateTool, TextMessageEvents, ToolCallEvents };