@copilotkit/runtime 1.50.0-beta.0 → 1.50.0-beta.10

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.
Files changed (132) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/chunk-2OZAGFV3.mjs +43 -0
  3. package/dist/chunk-2OZAGFV3.mjs.map +1 -0
  4. package/dist/chunk-62NE5S6M.mjs +226 -0
  5. package/dist/chunk-62NE5S6M.mjs.map +1 -0
  6. package/dist/chunk-6XRUR5UK.mjs +1 -0
  7. package/dist/chunk-6XRUR5UK.mjs.map +1 -0
  8. package/dist/chunk-AMUJQ6IR.mjs +50 -0
  9. package/dist/chunk-AMUJQ6IR.mjs.map +1 -0
  10. package/dist/chunk-BJEYMRDD.mjs +25 -0
  11. package/dist/chunk-BJEYMRDD.mjs.map +1 -0
  12. package/dist/chunk-DZV4ZIAR.mjs +3063 -0
  13. package/dist/chunk-DZV4ZIAR.mjs.map +1 -0
  14. package/dist/chunk-FHD4JECV.mjs +33 -0
  15. package/dist/chunk-FHD4JECV.mjs.map +1 -0
  16. package/dist/chunk-FMU55SEU.mjs +25 -0
  17. package/dist/chunk-FMU55SEU.mjs.map +1 -0
  18. package/dist/chunk-OWIGJONH.mjs +275 -0
  19. package/dist/chunk-OWIGJONH.mjs.map +1 -0
  20. package/dist/chunk-SBCOROE4.mjs +1112 -0
  21. package/dist/chunk-SBCOROE4.mjs.map +1 -0
  22. package/dist/chunk-TTUAEJLD.mjs +617 -0
  23. package/dist/chunk-TTUAEJLD.mjs.map +1 -0
  24. package/dist/chunk-XWBDEXDA.mjs +153 -0
  25. package/dist/chunk-XWBDEXDA.mjs.map +1 -0
  26. package/dist/chunk-Z752VE75.mjs +74 -0
  27. package/dist/chunk-Z752VE75.mjs.map +1 -0
  28. package/dist/graphql/message-conversion/index.d.ts +18 -0
  29. package/dist/graphql/message-conversion/index.js +725 -0
  30. package/dist/graphql/message-conversion/index.js.map +1 -0
  31. package/dist/graphql/message-conversion/index.mjs +245 -0
  32. package/dist/graphql/message-conversion/index.mjs.map +1 -0
  33. package/dist/graphql/types/base/index.d.ts +6 -0
  34. package/dist/graphql/types/base/index.js +63 -0
  35. package/dist/graphql/types/base/index.js.map +1 -0
  36. package/dist/graphql/types/base/index.mjs +8 -0
  37. package/dist/graphql/types/base/index.mjs.map +1 -0
  38. package/dist/graphql/types/converted/index.d.ts +2 -0
  39. package/dist/graphql/types/converted/index.js +294 -0
  40. package/dist/graphql/types/converted/index.js.map +1 -0
  41. package/dist/graphql/types/converted/index.mjs +20 -0
  42. package/dist/graphql/types/converted/index.mjs.map +1 -0
  43. package/dist/groq-adapter-50bc6e4a.d.ts +326 -0
  44. package/dist/index-adbd78f1.d.ts +154 -0
  45. package/dist/index.d.ts +136 -287
  46. package/dist/index.js +393 -287
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +385 -276
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/langgraph.d.ts +284 -0
  51. package/dist/langgraph.js +211 -0
  52. package/dist/langgraph.js.map +1 -0
  53. package/dist/langgraph.mjs +206 -0
  54. package/dist/langgraph.mjs.map +1 -0
  55. package/dist/langserve-74a52292.d.ts +242 -0
  56. package/dist/lib/cloud/index.d.ts +6 -0
  57. package/dist/lib/cloud/index.js +18 -0
  58. package/dist/lib/cloud/index.js.map +1 -0
  59. package/dist/lib/cloud/index.mjs +1 -0
  60. package/dist/lib/cloud/index.mjs.map +1 -0
  61. package/dist/lib/index.d.ts +266 -0
  62. package/dist/lib/index.js +4944 -0
  63. package/dist/lib/index.js.map +1 -0
  64. package/dist/lib/index.mjs +74 -0
  65. package/dist/lib/index.mjs.map +1 -0
  66. package/dist/lib/integrations/index.d.ts +28 -0
  67. package/dist/lib/integrations/index.js +3024 -0
  68. package/dist/lib/integrations/index.js.map +1 -0
  69. package/dist/lib/integrations/index.mjs +36 -0
  70. package/dist/lib/integrations/index.mjs.map +1 -0
  71. package/dist/lib/integrations/nest/index.d.ts +16 -0
  72. package/dist/lib/integrations/nest/index.js +2937 -0
  73. package/dist/lib/integrations/nest/index.js.map +1 -0
  74. package/dist/lib/integrations/nest/index.mjs +13 -0
  75. package/dist/lib/integrations/nest/index.mjs.map +1 -0
  76. package/dist/lib/integrations/node-express/index.d.ts +16 -0
  77. package/dist/lib/integrations/node-express/index.js +2937 -0
  78. package/dist/lib/integrations/node-express/index.js.map +1 -0
  79. package/dist/lib/integrations/node-express/index.mjs +13 -0
  80. package/dist/lib/integrations/node-express/index.mjs.map +1 -0
  81. package/dist/lib/integrations/node-http/index.d.ts +16 -0
  82. package/dist/lib/integrations/node-http/index.js +2923 -0
  83. package/dist/lib/integrations/node-http/index.js.map +1 -0
  84. package/dist/lib/integrations/node-http/index.mjs +12 -0
  85. package/dist/lib/integrations/node-http/index.mjs.map +1 -0
  86. package/dist/service-adapters/index.d.ts +166 -0
  87. package/dist/service-adapters/index.js +1800 -0
  88. package/dist/service-adapters/index.js.map +1 -0
  89. package/dist/service-adapters/index.mjs +36 -0
  90. package/dist/service-adapters/index.mjs.map +1 -0
  91. package/dist/service-adapters/shared/index.d.ts +9 -0
  92. package/dist/service-adapters/shared/index.js +72 -0
  93. package/dist/service-adapters/shared/index.js.map +1 -0
  94. package/dist/service-adapters/shared/index.mjs +8 -0
  95. package/dist/service-adapters/shared/index.mjs.map +1 -0
  96. package/dist/shared-f6d43ef8.d.ts +446 -0
  97. package/dist/utils/index.d.ts +65 -0
  98. package/dist/utils/index.js +175 -0
  99. package/dist/utils/index.js.map +1 -0
  100. package/dist/utils/index.mjs +12 -0
  101. package/dist/utils/index.mjs.map +1 -0
  102. package/dist/v2/index.d.ts +1 -0
  103. package/dist/v2/index.js +7 -0
  104. package/dist/v2/index.js.map +1 -1
  105. package/dist/v2/index.mjs +1 -0
  106. package/dist/v2/index.mjs.map +1 -1
  107. package/package.json +71 -33
  108. package/src/graphql/message-conversion/agui-to-gql.test.ts +2 -2
  109. package/src/graphql/message-conversion/gql-to-agui.test.ts +30 -28
  110. package/src/graphql/message-conversion/roundtrip-conversion.test.ts +8 -8
  111. package/src/langgraph.ts +1 -0
  112. package/src/lib/index.ts +42 -1
  113. package/src/lib/integrations/nextjs/app-router.ts +3 -1
  114. package/src/lib/integrations/node-http/index.ts +132 -11
  115. package/src/lib/integrations/shared.ts +2 -2
  116. package/src/lib/runtime/agent-integrations/{langgraph.agent.ts → langgraph/agent.ts} +5 -30
  117. package/src/lib/runtime/agent-integrations/langgraph/consts.ts +34 -0
  118. package/src/lib/runtime/agent-integrations/langgraph/index.ts +2 -0
  119. package/src/lib/runtime/copilot-runtime.ts +51 -68
  120. package/src/lib/runtime/telemetry-agent-runner.ts +134 -0
  121. package/src/service-adapters/anthropic/anthropic-adapter.ts +16 -3
  122. package/src/service-adapters/bedrock/bedrock-adapter.ts +4 -1
  123. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +2 -1
  124. package/src/service-adapters/google/google-genai-adapter.ts +9 -4
  125. package/src/service-adapters/groq/groq-adapter.ts +16 -3
  126. package/src/service-adapters/langchain/langchain-adapter.ts +5 -3
  127. package/src/service-adapters/langchain/langserve.ts +2 -1
  128. package/src/service-adapters/openai/openai-adapter.ts +17 -3
  129. package/src/service-adapters/openai/openai-assistant-adapter.ts +26 -11
  130. package/src/service-adapters/unify/unify-adapter.ts +3 -1
  131. package/src/v2/index.ts +1 -0
  132. package/tsup.config.ts +5 -2
@@ -0,0 +1,284 @@
1
+ import { TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, RunAgentInput, EventType } from '@ag-ui/client';
2
+ import * as rxjs from 'rxjs';
3
+ import { LangGraphAgent as LangGraphAgent$1, LangGraphAgentConfig, ProcessedEvents, State, StateEnrichment, SchemaKeys } from '@ag-ui/langgraph';
4
+ export { LangGraphHttpAgent } from '@ag-ui/langgraph';
5
+ import { Message } from '@langchain/langgraph-sdk/dist/types.messages';
6
+
7
+ /**
8
+ * Constants for LangGraph integration.
9
+ * This file is separate from langgraph.agent.ts to avoid pulling in @ag-ui/langgraph
10
+ * when only these constants are needed.
11
+ */
12
+
13
+ type TextMessageEvents = TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent;
14
+ type ToolCallEvents = ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent;
15
+ declare enum CustomEventNames {
16
+ CopilotKitManuallyEmitMessage = "copilotkit_manually_emit_message",
17
+ CopilotKitManuallyEmitToolCall = "copilotkit_manually_emit_tool_call",
18
+ CopilotKitManuallyEmitIntermediateState = "copilotkit_manually_emit_intermediate_state",
19
+ CopilotKitExit = "copilotkit_exit"
20
+ }
21
+ interface PredictStateTool {
22
+ tool: string;
23
+ state_key: string;
24
+ tool_argument: string;
25
+ }
26
+
27
+ interface CopilotKitStateEnrichment {
28
+ copilotkit: {
29
+ actions: StateEnrichment["ag-ui"]["tools"];
30
+ context: StateEnrichment["ag-ui"]["context"];
31
+ };
32
+ }
33
+
34
+ declare class LangGraphAgent extends LangGraphAgent$1 {
35
+ constructor(config: LangGraphAgentConfig);
36
+ clone(): LangGraphAgent;
37
+ dispatchEvent(event: ProcessedEvents): boolean;
38
+ run(input: RunAgentInput): rxjs.Observable<{
39
+ type: EventType.TEXT_MESSAGE_START;
40
+ role: "developer" | "system" | "assistant" | "user";
41
+ messageId: string;
42
+ timestamp?: number | undefined;
43
+ rawEvent?: any;
44
+ } | {
45
+ type: EventType.TEXT_MESSAGE_CONTENT;
46
+ messageId: string;
47
+ delta: string;
48
+ timestamp?: number | undefined;
49
+ rawEvent?: any;
50
+ } | {
51
+ type: EventType.TEXT_MESSAGE_END;
52
+ messageId: string;
53
+ timestamp?: number | undefined;
54
+ rawEvent?: any;
55
+ } | {
56
+ type: EventType.TOOL_CALL_START;
57
+ toolCallId: string;
58
+ toolCallName: string;
59
+ timestamp?: number | undefined;
60
+ rawEvent?: any;
61
+ parentMessageId?: string | undefined;
62
+ } | {
63
+ type: EventType.TOOL_CALL_ARGS;
64
+ toolCallId: string;
65
+ delta: string;
66
+ timestamp?: number | undefined;
67
+ rawEvent?: any;
68
+ } | {
69
+ type: EventType.TOOL_CALL_END;
70
+ toolCallId: string;
71
+ timestamp?: number | undefined;
72
+ rawEvent?: any;
73
+ } | {
74
+ type: EventType.THINKING_TEXT_MESSAGE_START;
75
+ timestamp?: number | undefined;
76
+ rawEvent?: any;
77
+ } | {
78
+ type: EventType.THINKING_TEXT_MESSAGE_CONTENT;
79
+ delta: string;
80
+ timestamp?: number | undefined;
81
+ rawEvent?: any;
82
+ } | {
83
+ type: EventType.THINKING_TEXT_MESSAGE_END;
84
+ timestamp?: number | undefined;
85
+ rawEvent?: any;
86
+ } | {
87
+ type: EventType.TOOL_CALL_RESULT;
88
+ content: string;
89
+ toolCallId: string;
90
+ messageId: string;
91
+ role?: "tool" | undefined;
92
+ timestamp?: number | undefined;
93
+ rawEvent?: any;
94
+ } | {
95
+ type: EventType.THINKING_START;
96
+ timestamp?: number | undefined;
97
+ rawEvent?: any;
98
+ title?: string | undefined;
99
+ } | {
100
+ type: EventType.THINKING_END;
101
+ timestamp?: number | undefined;
102
+ rawEvent?: any;
103
+ } | {
104
+ type: EventType.STATE_SNAPSHOT;
105
+ timestamp?: number | undefined;
106
+ rawEvent?: any;
107
+ snapshot?: any;
108
+ } | {
109
+ type: EventType.STATE_DELTA;
110
+ delta: any[];
111
+ timestamp?: number | undefined;
112
+ rawEvent?: any;
113
+ } | {
114
+ type: EventType.MESSAGES_SNAPSHOT;
115
+ messages: ({
116
+ id: string;
117
+ role: "developer";
118
+ content: string;
119
+ name?: string | undefined;
120
+ } | {
121
+ id: string;
122
+ role: "system";
123
+ content: string;
124
+ name?: string | undefined;
125
+ } | {
126
+ id: string;
127
+ role: "assistant";
128
+ name?: string | undefined;
129
+ content?: string | undefined;
130
+ toolCalls?: {
131
+ function: {
132
+ name: string;
133
+ arguments: string;
134
+ };
135
+ type: "function";
136
+ id: string;
137
+ }[] | undefined;
138
+ } | {
139
+ id: string;
140
+ role: "user";
141
+ content: string | ({
142
+ type: "text";
143
+ text: string;
144
+ } | {
145
+ type: "binary";
146
+ mimeType: string;
147
+ id?: string | undefined;
148
+ url?: string | undefined;
149
+ data?: string | undefined;
150
+ filename?: string | undefined;
151
+ })[];
152
+ name?: string | undefined;
153
+ } | {
154
+ id: string;
155
+ role: "tool";
156
+ content: string;
157
+ toolCallId: string;
158
+ error?: string | undefined;
159
+ } | {
160
+ id: string;
161
+ role: "activity";
162
+ content: Record<string, any>;
163
+ activityType: string;
164
+ })[];
165
+ timestamp?: number | undefined;
166
+ rawEvent?: any;
167
+ } | {
168
+ type: EventType.RAW;
169
+ timestamp?: number | undefined;
170
+ rawEvent?: any;
171
+ event?: any;
172
+ source?: string | undefined;
173
+ } | {
174
+ name: string;
175
+ type: EventType.CUSTOM;
176
+ value?: any;
177
+ timestamp?: number | undefined;
178
+ rawEvent?: any;
179
+ } | {
180
+ type: EventType.RUN_STARTED;
181
+ threadId: string;
182
+ runId: string;
183
+ parentRunId?: string | undefined;
184
+ timestamp?: number | undefined;
185
+ rawEvent?: any;
186
+ input?: {
187
+ threadId: string;
188
+ runId: string;
189
+ messages: ({
190
+ id: string;
191
+ role: "developer";
192
+ content: string;
193
+ name?: string | undefined;
194
+ } | {
195
+ id: string;
196
+ role: "system";
197
+ content: string;
198
+ name?: string | undefined;
199
+ } | {
200
+ id: string;
201
+ role: "assistant";
202
+ name?: string | undefined;
203
+ content?: string | undefined;
204
+ toolCalls?: {
205
+ function: {
206
+ name: string;
207
+ arguments: string;
208
+ };
209
+ type: "function";
210
+ id: string;
211
+ }[] | undefined;
212
+ } | {
213
+ id: string;
214
+ role: "user";
215
+ content: string | ({
216
+ type: "text";
217
+ text: string;
218
+ } | {
219
+ type: "binary";
220
+ mimeType: string;
221
+ id?: string | undefined;
222
+ url?: string | undefined;
223
+ data?: string | undefined;
224
+ filename?: string | undefined;
225
+ })[];
226
+ name?: string | undefined;
227
+ } | {
228
+ id: string;
229
+ role: "tool";
230
+ content: string;
231
+ toolCallId: string;
232
+ error?: string | undefined;
233
+ } | {
234
+ id: string;
235
+ role: "activity";
236
+ content: Record<string, any>;
237
+ activityType: string;
238
+ })[];
239
+ tools: {
240
+ name: string;
241
+ description: string;
242
+ parameters?: any;
243
+ }[];
244
+ context: {
245
+ value: string;
246
+ description: string;
247
+ }[];
248
+ parentRunId?: string | undefined;
249
+ state?: any;
250
+ forwardedProps?: any;
251
+ } | undefined;
252
+ } | {
253
+ type: EventType.RUN_FINISHED;
254
+ threadId: string;
255
+ runId: string;
256
+ timestamp?: number | undefined;
257
+ rawEvent?: any;
258
+ result?: any;
259
+ } | {
260
+ message: string;
261
+ type: EventType.RUN_ERROR;
262
+ code?: string | undefined;
263
+ timestamp?: number | undefined;
264
+ rawEvent?: any;
265
+ } | {
266
+ type: EventType.STEP_STARTED;
267
+ stepName: string;
268
+ timestamp?: number | undefined;
269
+ rawEvent?: any;
270
+ } | {
271
+ type: EventType.STEP_FINISHED;
272
+ stepName: string;
273
+ timestamp?: number | undefined;
274
+ rawEvent?: any;
275
+ } | {
276
+ type: EventType;
277
+ name: string;
278
+ value: any;
279
+ }>;
280
+ langGraphDefaultMergeState(state: State, messages: Message[], input: RunAgentInput): State<StateEnrichment & CopilotKitStateEnrichment>;
281
+ getSchemaKeys(): Promise<SchemaKeys>;
282
+ }
283
+
284
+ export { CustomEventNames, LangGraphAgent, PredictStateTool, TextMessageEvents, ToolCallEvents };
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ var rxjs = require('rxjs');
4
+ var langgraph = require('@ag-ui/langgraph');
5
+ var client = require('@ag-ui/client');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+
10
+ // src/lib/runtime/agent-integrations/langgraph/consts.ts
11
+ exports.CustomEventNames = void 0;
12
+ (function(CustomEventNames3) {
13
+ CustomEventNames3["CopilotKitManuallyEmitMessage"] = "copilotkit_manually_emit_message";
14
+ CustomEventNames3["CopilotKitManuallyEmitToolCall"] = "copilotkit_manually_emit_tool_call";
15
+ CustomEventNames3["CopilotKitManuallyEmitIntermediateState"] = "copilotkit_manually_emit_intermediate_state";
16
+ CustomEventNames3["CopilotKitExit"] = "copilotkit_exit";
17
+ })(exports.CustomEventNames || (exports.CustomEventNames = {}));
18
+
19
+ // src/agents/langgraph/events.ts
20
+ var LangGraphEventTypes;
21
+ (function(LangGraphEventTypes2) {
22
+ LangGraphEventTypes2["OnChainStart"] = "on_chain_start";
23
+ LangGraphEventTypes2["OnChainStream"] = "on_chain_stream";
24
+ LangGraphEventTypes2["OnChainEnd"] = "on_chain_end";
25
+ LangGraphEventTypes2["OnChatModelStart"] = "on_chat_model_start";
26
+ LangGraphEventTypes2["OnChatModelStream"] = "on_chat_model_stream";
27
+ LangGraphEventTypes2["OnChatModelEnd"] = "on_chat_model_end";
28
+ LangGraphEventTypes2["OnToolStart"] = "on_tool_start";
29
+ LangGraphEventTypes2["OnToolEnd"] = "on_tool_end";
30
+ LangGraphEventTypes2["OnCopilotKitStateSync"] = "on_copilotkit_state_sync";
31
+ LangGraphEventTypes2["OnCopilotKitEmitMessage"] = "on_copilotkit_emit_message";
32
+ LangGraphEventTypes2["OnCopilotKitEmitToolCall"] = "on_copilotkit_emit_tool_call";
33
+ LangGraphEventTypes2["OnCustomEvent"] = "on_custom_event";
34
+ LangGraphEventTypes2["OnInterrupt"] = "on_interrupt";
35
+ LangGraphEventTypes2["OnCopilotKitInterrupt"] = "on_copilotkit_interrupt";
36
+ LangGraphEventTypes2["OnCopilotKitError"] = "on_copilotkit_error";
37
+ })(LangGraphEventTypes || (LangGraphEventTypes = {}));
38
+ var MetaEventNames;
39
+ (function(MetaEventNames2) {
40
+ MetaEventNames2["LangGraphInterruptEvent"] = "LangGraphInterruptEvent";
41
+ MetaEventNames2["CopilotKitLangGraphInterruptEvent"] = "CopilotKitLangGraphInterruptEvent";
42
+ })(MetaEventNames || (MetaEventNames = {}));
43
+ var CustomEventNames2;
44
+ (function(CustomEventNames3) {
45
+ CustomEventNames3["CopilotKitManuallyEmitMessage"] = "copilotkit_manually_emit_message";
46
+ CustomEventNames3["CopilotKitManuallyEmitToolCall"] = "copilotkit_manually_emit_tool_call";
47
+ CustomEventNames3["CopilotKitManuallyEmitIntermediateState"] = "copilotkit_manually_emit_intermediate_state";
48
+ CustomEventNames3["CopilotKitExit"] = "copilotkit_exit";
49
+ })(CustomEventNames2 || (CustomEventNames2 = {}));
50
+ var LangGraphAgent = class extends langgraph.LangGraphAgent {
51
+ constructor(config) {
52
+ super(config);
53
+ }
54
+ // @ts-ignore
55
+ clone() {
56
+ return new LangGraphAgent(this.config);
57
+ }
58
+ dispatchEvent(event) {
59
+ if (event.type === client.EventType.CUSTOM) {
60
+ const customEvent = event;
61
+ if (customEvent.name === exports.CustomEventNames.CopilotKitManuallyEmitMessage) {
62
+ this.subscriber.next({
63
+ type: client.EventType.TEXT_MESSAGE_START,
64
+ role: "assistant",
65
+ messageId: customEvent.value.message_id,
66
+ rawEvent: event
67
+ });
68
+ this.subscriber.next({
69
+ type: client.EventType.TEXT_MESSAGE_CONTENT,
70
+ messageId: customEvent.value.message_id,
71
+ delta: customEvent.value.message,
72
+ rawEvent: event
73
+ });
74
+ this.subscriber.next({
75
+ type: client.EventType.TEXT_MESSAGE_END,
76
+ messageId: customEvent.value.message_id,
77
+ rawEvent: event
78
+ });
79
+ return true;
80
+ }
81
+ if (customEvent.name === exports.CustomEventNames.CopilotKitManuallyEmitToolCall) {
82
+ this.subscriber.next({
83
+ type: client.EventType.TOOL_CALL_START,
84
+ toolCallId: customEvent.value.id,
85
+ toolCallName: customEvent.value.name,
86
+ parentMessageId: customEvent.value.id,
87
+ rawEvent: event
88
+ });
89
+ this.subscriber.next({
90
+ type: client.EventType.TOOL_CALL_ARGS,
91
+ toolCallId: customEvent.value.id,
92
+ delta: customEvent.value.args,
93
+ rawEvent: event
94
+ });
95
+ this.subscriber.next({
96
+ type: client.EventType.TOOL_CALL_END,
97
+ toolCallId: customEvent.value.id,
98
+ rawEvent: event
99
+ });
100
+ return true;
101
+ }
102
+ if (customEvent.name === exports.CustomEventNames.CopilotKitManuallyEmitIntermediateState) {
103
+ this.activeRun.manuallyEmittedState = customEvent.value;
104
+ this.dispatchEvent({
105
+ type: client.EventType.STATE_SNAPSHOT,
106
+ snapshot: this.getStateSnapshot({
107
+ values: this.activeRun.manuallyEmittedState
108
+ }),
109
+ rawEvent: event
110
+ });
111
+ return true;
112
+ }
113
+ if (customEvent.name === exports.CustomEventNames.CopilotKitExit) {
114
+ this.subscriber.next({
115
+ type: client.EventType.CUSTOM,
116
+ name: "Exit",
117
+ value: true
118
+ });
119
+ return true;
120
+ }
121
+ }
122
+ const rawEvent = event.rawEvent;
123
+ if (!rawEvent) {
124
+ this.subscriber.next(event);
125
+ return true;
126
+ }
127
+ const isMessageEvent = event.type === client.EventType.TEXT_MESSAGE_START || event.type === client.EventType.TEXT_MESSAGE_CONTENT || event.type === client.EventType.TEXT_MESSAGE_END;
128
+ const isToolEvent = event.type === client.EventType.TOOL_CALL_START || event.type === client.EventType.TOOL_CALL_ARGS || event.type === client.EventType.TOOL_CALL_END;
129
+ if ("copilotkit:emit-tool-calls" in (rawEvent.metadata || {})) {
130
+ if (rawEvent.metadata["copilotkit:emit-tool-calls"] === false && isToolEvent) {
131
+ return false;
132
+ }
133
+ }
134
+ if ("copilotkit:emit-messages" in (rawEvent.metadata || {})) {
135
+ if (rawEvent.metadata["copilotkit:emit-messages"] === false && isMessageEvent) {
136
+ return false;
137
+ }
138
+ }
139
+ this.subscriber.next(event);
140
+ return true;
141
+ }
142
+ // @ts-ignore
143
+ run(input) {
144
+ return super.run(input).pipe(rxjs.map((processedEvent) => {
145
+ var _a, _b, _c, _d, _e;
146
+ if (processedEvent.type === client.EventType.RAW) {
147
+ const event = processedEvent.event ?? processedEvent.rawEvent;
148
+ const eventType = event.event;
149
+ const toolCallData = (_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.tool_call_chunks) == null ? void 0 : _c[0];
150
+ const toolCallUsedToPredictState = (_e = (_d = event.metadata) == null ? void 0 : _d["copilotkit:emit-intermediate-state"]) == null ? void 0 : _e.some((predictStateTool) => predictStateTool.tool === (toolCallData == null ? void 0 : toolCallData.name));
151
+ if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {
152
+ return {
153
+ type: client.EventType.CUSTOM,
154
+ name: "PredictState",
155
+ value: event.metadata["copilotkit:emit-intermediate-state"]
156
+ };
157
+ }
158
+ }
159
+ return processedEvent;
160
+ }));
161
+ }
162
+ langGraphDefaultMergeState(state, messages, input) {
163
+ const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);
164
+ const { tools: returnedTools, "ag-ui": agui } = aguiMergedState;
165
+ const rawCombinedTools = [
166
+ ...returnedTools ?? [],
167
+ ...(agui == null ? void 0 : agui.tools) ?? []
168
+ ];
169
+ const combinedTools = Array.from(new Map(rawCombinedTools.map((t) => [
170
+ (t == null ? void 0 : t.id) ?? (t == null ? void 0 : t.name) ?? (t == null ? void 0 : t.key) ?? JSON.stringify(t),
171
+ t
172
+ ])).values());
173
+ return {
174
+ ...aguiMergedState,
175
+ copilotkit: {
176
+ actions: combinedTools,
177
+ context: (agui == null ? void 0 : agui.context) ?? []
178
+ }
179
+ };
180
+ }
181
+ async getSchemaKeys() {
182
+ const CONSTANT_KEYS = [
183
+ "copilotkit"
184
+ ];
185
+ const schemaKeys = await super.getSchemaKeys();
186
+ return {
187
+ config: schemaKeys.config,
188
+ input: schemaKeys.input ? [
189
+ ...schemaKeys.input,
190
+ ...CONSTANT_KEYS
191
+ ] : null,
192
+ output: schemaKeys.output ? [
193
+ ...schemaKeys.output,
194
+ ...CONSTANT_KEYS
195
+ ] : null,
196
+ context: schemaKeys.context ? [
197
+ ...schemaKeys.context,
198
+ ...CONSTANT_KEYS
199
+ ] : null
200
+ };
201
+ }
202
+ };
203
+ __name(LangGraphAgent, "LangGraphAgent");
204
+
205
+ Object.defineProperty(exports, 'LangGraphHttpAgent', {
206
+ enumerable: true,
207
+ get: function () { return langgraph.LangGraphHttpAgent; }
208
+ });
209
+ exports.LangGraphAgent = LangGraphAgent;
210
+ //# sourceMappingURL=out.js.map
211
+ //# sourceMappingURL=langgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/runtime/agent-integrations/langgraph/consts.ts","../src/lib/runtime/agent-integrations/langgraph/agent.ts","../src/agents/langgraph/events.ts"],"names":["CustomEventNames","map","LangGraphEventTypes","MetaEventNames","LangGraphAgent","AGUILangGraphAgent","LangGraphHttpAgent","EventType","constructor","config","clone","dispatchEvent","event","type","CUSTOM","customEvent","name","CopilotKitManuallyEmitMessage","subscriber","next","TEXT_MESSAGE_START","role","messageId","value","message_id","rawEvent","TEXT_MESSAGE_CONTENT","delta","message","TEXT_MESSAGE_END","CopilotKitManuallyEmitToolCall","TOOL_CALL_START","toolCallId","id","toolCallName","parentMessageId","TOOL_CALL_ARGS","args","TOOL_CALL_END","CopilotKitManuallyEmitIntermediateState","activeRun","manuallyEmittedState","STATE_SNAPSHOT","snapshot","getStateSnapshot","values","CopilotKitExit","isMessageEvent","isToolEvent","metadata","run","input","pipe","processedEvent","RAW","eventType","toolCallData","data","chunk","tool_call_chunks","toolCallUsedToPredictState","some","predictStateTool","tool","OnChatModelStream","langGraphDefaultMergeState","state","messages","aguiMergedState","tools","returnedTools","agui","rawCombinedTools","combinedTools","Array","from","Map","t","key","JSON","stringify","copilotkit","actions","context","getSchemaKeys","CONSTANT_KEYS","schemaKeys","output"],"mappings":";;;;AAIC,IAAA;UAkBWA,mBAAAA;;;;;GAAAA,qBAAAA,mBAAAA,CAAAA,EAAAA;;;ACtBZ,SAASC,WAAW;;;;UCERC,sBAAAA;;;;;;;;;;;;;;;;GAAAA,wBAAAA,sBAAAA,CAAAA,EAAAA;;UAkBAC,iBAAAA;;;GAAAA,mBAAAA,iBAAAA,CAAAA,EAAAA;;UAKAH,mBAAAA;;;;;GAAAA,sBAAAA,oBAAAA,CAAAA,EAAAA;;;ADtBZ,SACEI,kBAAkBC,oBAClBC,0BAMK;AAWP,SAAwBC,iBAA8B;AAM/C,IAAMH,iBAAN,cAA6BC,mBAAAA;EAClCG,YAAYC,QAA8B;AACxC,UAAMA,MAAAA;EACR;;EAGOC,QAAQ;AACb,WAAO,IAAIN,eAAe,KAAKK,MAAM;EACvC;EAEAE,cAAcC,OAAwB;AACpC,QAAIA,MAAMC,SAASN,UAAUO,QAAQ;AAEnC,YAAMC,cAAcH;AAEpB,UAAIG,YAAYC,SAAShB,iBAAiBiB,+BAA+B;AACvE,aAAKC,WAAWC,KAAK;UACnBN,MAAMN,UAAUa;UAChBC,MAAM;UACNC,WAAWP,YAAYQ,MAAMC;UAC7BC,UAAUb;QACZ,CAAA;AACA,aAAKM,WAAWC,KAAK;UACnBN,MAAMN,UAAUmB;UAChBJ,WAAWP,YAAYQ,MAAMC;UAC7BG,OAAOZ,YAAYQ,MAAMK;UACzBH,UAAUb;QACZ,CAAA;AACA,aAAKM,WAAWC,KAAK;UACnBN,MAAMN,UAAUsB;UAChBP,WAAWP,YAAYQ,MAAMC;UAC7BC,UAAUb;QACZ,CAAA;AACA,eAAO;MACT;AAEA,UAAIG,YAAYC,SAAShB,iBAAiB8B,gCAAgC;AACxE,aAAKZ,WAAWC,KAAK;UACnBN,MAAMN,UAAUwB;UAChBC,YAAYjB,YAAYQ,MAAMU;UAC9BC,cAAcnB,YAAYQ,MAAMP;UAChCmB,iBAAiBpB,YAAYQ,MAAMU;UACnCR,UAAUb;QACZ,CAAA;AACA,aAAKM,WAAWC,KAAK;UACnBN,MAAMN,UAAU6B;UAChBJ,YAAYjB,YAAYQ,MAAMU;UAC9BN,OAAOZ,YAAYQ,MAAMc;UACzBZ,UAAUb;QACZ,CAAA;AACA,aAAKM,WAAWC,KAAK;UACnBN,MAAMN,UAAU+B;UAChBN,YAAYjB,YAAYQ,MAAMU;UAC9BR,UAAUb;QACZ,CAAA;AACA,eAAO;MACT;AAEA,UAAIG,YAAYC,SAAShB,iBAAiBuC,yCAAyC;AACjF,aAAKC,UAAUC,uBAAuB1B,YAAYQ;AAClD,aAAKZ,cAAc;UACjBE,MAAMN,UAAUmC;UAChBC,UAAU,KAAKC,iBAAiB;YAC9BC,QAAQ,KAAKL,UAAUC;UACzB,CAAA;UACAhB,UAAUb;QACZ,CAAA;AACA,eAAO;MACT;AAEA,UAAIG,YAAYC,SAAShB,iBAAiB8C,gBAAgB;AACxD,aAAK5B,WAAWC,KAAK;UACnBN,MAAMN,UAAUO;UAChBE,MAAM;UACNO,OAAO;QACT,CAAA;AACA,eAAO;MACT;IACF;AAGA,UAAME,WAAYb,MAA6Ca;AAC/D,QAAI,CAACA,UAAU;AACb,WAAKP,WAAWC,KAAKP,KAAAA;AACrB,aAAO;IACT;AAEA,UAAMmC,iBACJnC,MAAMC,SAASN,UAAUa,sBACzBR,MAAMC,SAASN,UAAUmB,wBACzBd,MAAMC,SAASN,UAAUsB;AAC3B,UAAMmB,cACJpC,MAAMC,SAASN,UAAUwB,mBACzBnB,MAAMC,SAASN,UAAU6B,kBACzBxB,MAAMC,SAASN,UAAU+B;AAC3B,QAAI,iCAAiCb,SAASwB,YAAY,CAAC,IAAI;AAC7D,UAAIxB,SAASwB,SAAS,4BAAA,MAAkC,SAASD,aAAa;AAC5E,eAAO;MACT;IACF;AACA,QAAI,+BAA+BvB,SAASwB,YAAY,CAAC,IAAI;AAC3D,UAAIxB,SAASwB,SAAS,0BAAA,MAAgC,SAASF,gBAAgB;AAC7E,eAAO;MACT;IACF;AAEA,SAAK7B,WAAWC,KAAKP,KAAAA;AACrB,WAAO;EACT;;EAGAsC,IAAIC,OAAsB;AACxB,WAAO,MAAMD,IAAIC,KAAAA,EAAOC,KACtBnD,IAAI,CAACoD,mBAAAA;AA7IX;AA+IQ,UAAIA,eAAexC,SAASN,UAAU+C,KAAK;AAEzC,cAAM1C,QAASyC,eAA4BzC,SAAUyC,eAA4B5B;AAEjF,cAAM8B,YAAY3C,MAAMA;AACxB,cAAM4C,gBAAe5C,uBAAM6C,SAAN7C,mBAAY8C,UAAZ9C,mBAAmB+C,qBAAnB/C,mBAAsC;AAC3D,cAAMgD,8BAA6BhD,iBAAMqC,aAANrC,mBACjC,0CADiCA,mBAEhCiD,KACD,CAACC,qBAAuCA,iBAAiBC,UAASP,6CAAcxC;AAGlF,YAAIuC,cAAcrD,oBAAoB8D,qBAAqBJ,4BAA4B;AACrF,iBAAO;YACL/C,MAAMN,UAAUO;YAChBE,MAAM;YACNO,OAAOX,MAAMqC,SAAS,oCAAA;UACxB;QACF;MACF;AAEA,aAAOI;IACT,CAAA,CAAA;EAEJ;EAEAY,2BACEC,OACAC,UACAhB,OACoD;AACpD,UAAMiB,kBAAkB,MAAMH,2BAA2BC,OAAOC,UAAUhB,KAAAA;AAC1E,UAAM,EAAEkB,OAAOC,eAAe,SAASC,KAAI,IAAKH;AAEhD,UAAMI,mBAAmB;SAClBF,iBAA2B,CAAA;UAC3BC,6BAAMF,UAAmB,CAAA;;AAEhC,UAAMI,gBAAgBC,MAAMC,KAC1B,IAAIC,IACFJ,iBAAiBvE,IAAI,CAAC4E,MAAW;OAACA,uBAAG5C,QAAM4C,uBAAG7D,UAAQ6D,uBAAGC,QAAOC,KAAKC,UAAUH,CAAAA;MAAIA;KAAE,CAAA,EACrFhC,OAAM,CAAA;AAGV,WAAO;MACL,GAAGuB;MACHa,YAAY;QACVC,SAAST;QACTU,UAASZ,6BAAMY,YAAW,CAAA;MAC5B;IACF;EACF;EAEA,MAAMC,gBAAqC;AACzC,UAAMC,gBAAgB;MAAC;;AACvB,UAAMC,aAAa,MAAM,MAAMF,cAAAA;AAC/B,WAAO;MACL3E,QAAQ6E,WAAW7E;MACnB0C,OAAOmC,WAAWnC,QAAQ;WAAImC,WAAWnC;WAAUkC;UAAiB;MACpEE,QAAQD,WAAWC,SAAS;WAAID,WAAWC;WAAWF;UAAiB;MACvEF,SAASG,WAAWH,UAAU;WAAIG,WAAWH;WAAYE;UAAiB;IAC5E;EACF;AACF;AAlLajF","sourcesContent":["/**\n * Constants for LangGraph integration.\n * This file is separate from langgraph.agent.ts to avoid pulling in @ag-ui/langgraph\n * when only these constants are needed.\n */\n\nimport {\n TextMessageStartEvent,\n TextMessageContentEvent,\n TextMessageEndEvent,\n ToolCallStartEvent,\n ToolCallArgsEvent,\n ToolCallEndEvent,\n} from \"@ag-ui/client\";\n\nexport type TextMessageEvents =\n | TextMessageStartEvent\n | TextMessageContentEvent\n | TextMessageEndEvent;\n\nexport type ToolCallEvents = ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent;\n\nexport enum CustomEventNames {\n CopilotKitManuallyEmitMessage = \"copilotkit_manually_emit_message\",\n CopilotKitManuallyEmitToolCall = \"copilotkit_manually_emit_tool_call\",\n CopilotKitManuallyEmitIntermediateState = \"copilotkit_manually_emit_intermediate_state\",\n CopilotKitExit = \"copilotkit_exit\",\n}\n\nexport interface PredictStateTool {\n tool: string;\n state_key: string;\n tool_argument: string;\n}\n","import { map } from \"rxjs\";\nimport { LangGraphEventTypes } from \"../../../../agents/langgraph/events\";\nimport { RawEvent } from \"@ag-ui/core\";\nimport {\n LangGraphAgent as AGUILangGraphAgent,\n LangGraphHttpAgent,\n type LangGraphAgentConfig,\n ProcessedEvents,\n SchemaKeys,\n type State,\n StateEnrichment,\n} from \"@ag-ui/langgraph\";\nimport { Message as LangGraphMessage } from \"@langchain/langgraph-sdk/dist/types.messages\";\nimport { ThreadState } from \"@langchain/langgraph-sdk\";\n\ninterface CopilotKitStateEnrichment {\n copilotkit: {\n actions: StateEnrichment[\"ag-ui\"][\"tools\"];\n context: StateEnrichment[\"ag-ui\"][\"context\"];\n };\n}\n\nimport { RunAgentInput, EventType, CustomEvent } from \"@ag-ui/client\";\n\n// Import and re-export from separate file to maintain API compatibility\nimport { CustomEventNames, TextMessageEvents, ToolCallEvents, PredictStateTool } from \"./consts\";\nexport { CustomEventNames };\n\nexport class LangGraphAgent extends AGUILangGraphAgent {\n constructor(config: LangGraphAgentConfig) {\n super(config);\n }\n\n // @ts-ignore\n public clone() {\n return new LangGraphAgent(this.config);\n }\n\n dispatchEvent(event: ProcessedEvents) {\n if (event.type === EventType.CUSTOM) {\n // const event = processedEvent as unknown as CustomEvent;\n const customEvent = event as unknown as CustomEvent;\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitMessage) {\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_START,\n role: \"assistant\",\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_CONTENT,\n messageId: customEvent.value.message_id,\n delta: customEvent.value.message,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_END,\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {\n this.subscriber.next({\n type: EventType.TOOL_CALL_START,\n toolCallId: customEvent.value.id,\n toolCallName: customEvent.value.name,\n parentMessageId: customEvent.value.id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_ARGS,\n toolCallId: customEvent.value.id,\n delta: customEvent.value.args,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_END,\n toolCallId: customEvent.value.id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitIntermediateState) {\n this.activeRun.manuallyEmittedState = customEvent.value;\n this.dispatchEvent({\n type: EventType.STATE_SNAPSHOT,\n snapshot: this.getStateSnapshot({\n values: this.activeRun.manuallyEmittedState,\n } as ThreadState<State>),\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitExit) {\n this.subscriber.next({\n type: EventType.CUSTOM,\n name: \"Exit\",\n value: true,\n });\n return true;\n }\n }\n\n // Intercept all text message and tool call events and check if should disable\n const rawEvent = (event as ToolCallEvents | TextMessageEvents).rawEvent;\n if (!rawEvent) {\n this.subscriber.next(event);\n return true;\n }\n\n const isMessageEvent =\n event.type === EventType.TEXT_MESSAGE_START ||\n event.type === EventType.TEXT_MESSAGE_CONTENT ||\n event.type === EventType.TEXT_MESSAGE_END;\n const isToolEvent =\n event.type === EventType.TOOL_CALL_START ||\n event.type === EventType.TOOL_CALL_ARGS ||\n event.type === EventType.TOOL_CALL_END;\n if (\"copilotkit:emit-tool-calls\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-tool-calls\"] === false && isToolEvent) {\n return false;\n }\n }\n if (\"copilotkit:emit-messages\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-messages\"] === false && isMessageEvent) {\n return false;\n }\n }\n\n this.subscriber.next(event);\n return true;\n }\n\n // @ts-ignore\n run(input: RunAgentInput) {\n return super.run(input).pipe(\n map((processedEvent) => {\n // Turn raw event into emit state snapshot from tool call event\n if (processedEvent.type === EventType.RAW) {\n // Get the LangGraph event from the AGUI event.\n const event = (processedEvent as RawEvent).event ?? (processedEvent as RawEvent).rawEvent;\n\n const eventType = event.event;\n const toolCallData = event.data?.chunk?.tool_call_chunks?.[0];\n const toolCallUsedToPredictState = event.metadata?.[\n \"copilotkit:emit-intermediate-state\"\n ]?.some(\n (predictStateTool: PredictStateTool) => predictStateTool.tool === toolCallData?.name,\n );\n\n if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {\n return {\n type: EventType.CUSTOM,\n name: \"PredictState\",\n value: event.metadata[\"copilotkit:emit-intermediate-state\"],\n };\n }\n }\n\n return processedEvent;\n }),\n );\n }\n\n langGraphDefaultMergeState(\n state: State,\n messages: LangGraphMessage[],\n input: RunAgentInput,\n ): State<StateEnrichment & CopilotKitStateEnrichment> {\n const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);\n const { tools: returnedTools, \"ag-ui\": agui } = aguiMergedState;\n // tolerate undefined and de-duplicate by stable key (id | name | key)\n const rawCombinedTools = [\n ...((returnedTools as any[]) ?? []),\n ...((agui?.tools as any[]) ?? []),\n ];\n const combinedTools = Array.from(\n new Map(\n rawCombinedTools.map((t: any) => [t?.id ?? t?.name ?? t?.key ?? JSON.stringify(t), t]),\n ).values(),\n );\n\n return {\n ...aguiMergedState,\n copilotkit: {\n actions: combinedTools,\n context: agui?.context ?? [],\n },\n };\n }\n\n async getSchemaKeys(): Promise<SchemaKeys> {\n const CONSTANT_KEYS = [\"copilotkit\"];\n const schemaKeys = await super.getSchemaKeys();\n return {\n config: schemaKeys.config,\n input: schemaKeys.input ? [...schemaKeys.input, ...CONSTANT_KEYS] : null,\n output: schemaKeys.output ? [...schemaKeys.output, ...CONSTANT_KEYS] : null,\n context: schemaKeys.context ? [...schemaKeys.context, ...CONSTANT_KEYS] : null,\n };\n }\n}\n\nexport { LangGraphHttpAgent };\n","import { ActionExecutionMessage, ResultMessage, TextMessage } from \"../../graphql/types/converted\";\n\nexport enum LangGraphEventTypes {\n OnChainStart = \"on_chain_start\",\n OnChainStream = \"on_chain_stream\",\n OnChainEnd = \"on_chain_end\",\n OnChatModelStart = \"on_chat_model_start\",\n OnChatModelStream = \"on_chat_model_stream\",\n OnChatModelEnd = \"on_chat_model_end\",\n OnToolStart = \"on_tool_start\",\n OnToolEnd = \"on_tool_end\",\n OnCopilotKitStateSync = \"on_copilotkit_state_sync\",\n OnCopilotKitEmitMessage = \"on_copilotkit_emit_message\",\n OnCopilotKitEmitToolCall = \"on_copilotkit_emit_tool_call\",\n OnCustomEvent = \"on_custom_event\",\n OnInterrupt = \"on_interrupt\",\n OnCopilotKitInterrupt = \"on_copilotkit_interrupt\",\n OnCopilotKitError = \"on_copilotkit_error\",\n}\n\nexport enum MetaEventNames {\n LangGraphInterruptEvent = \"LangGraphInterruptEvent\",\n CopilotKitLangGraphInterruptEvent = \"CopilotKitLangGraphInterruptEvent\",\n}\n\nexport enum CustomEventNames {\n CopilotKitManuallyEmitMessage = \"copilotkit_manually_emit_message\",\n CopilotKitManuallyEmitToolCall = \"copilotkit_manually_emit_tool_call\",\n CopilotKitManuallyEmitIntermediateState = \"copilotkit_manually_emit_intermediate_state\",\n CopilotKitExit = \"copilotkit_exit\",\n}\n\ntype LangGraphOnCopilotKitStateSyncEvent = {\n event: LangGraphEventTypes.OnCopilotKitStateSync;\n thread_id: string;\n agent_name: string;\n node_name: string;\n run_id: string;\n active: boolean;\n role: string;\n state: any;\n running: boolean;\n};\n\ntype LangGraphOnChainStartEvent = {\n event: LangGraphEventTypes.OnChainStart;\n run_id: string;\n name: string;\n tags: string[];\n metadata: { thread_id: string };\n data: {\n input: any;\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChainEndEvent = {\n event: LangGraphEventTypes.OnChainEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: any;\n output: any;\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelStartEvent = {\n event: LangGraphEventTypes.OnChatModelStart;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n input: {\n messages: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n type: string;\n id: string;\n };\n }[][];\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelStreamEvent = {\n event: LangGraphEventTypes.OnChatModelStream;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n chunk: {\n lc: number;\n type: string;\n id: string;\n kwargs: {\n content: string | { text: string; type: string; index: number }[];\n additional_kwargs: {\n tool_calls: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n type: string;\n id: string;\n tool_calls: { name: string; args: {}; id: string; type: string }[];\n tool_call_chunks: {\n name: string;\n args: string;\n id: string;\n index: number;\n type: string;\n }[];\n invalid_tool_calls: any[];\n };\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelEndEvent = {\n event: LangGraphEventTypes.OnChatModelEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n input: any;\n output: {\n generations: {\n text: string;\n generation_info: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n message: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n additional_kwargs: {\n tool_calls: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n response_metadata: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n id: string;\n tool_calls: { name: string; args: { query: string }; id: string; type: string }[];\n invalid_tool_calls: any[];\n };\n };\n }[][];\n llm_output: any;\n run: any;\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChainStreamEvent = {\n event: LangGraphEventTypes.OnChainStream;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step?: number;\n langgraph_node?: string;\n langgraph_triggers?: string[];\n langgraph_task_idx?: number;\n thread_ts?: string;\n };\n data: {\n chunk: {\n messages: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n additional_kwargs?: {\n tool_calls?: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n response_metadata?: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n id: string;\n tool_calls?: { name: string; args: { query: string }; id: string; type: string }[];\n invalid_tool_calls?: any[];\n };\n }[];\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnToolStartEvent = {\n event: LangGraphEventTypes.OnToolStart;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: {\n query: string;\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnToolEndEvent = {\n event: LangGraphEventTypes.OnToolEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: {\n query: string;\n };\n output: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string[];\n type: string;\n name: string;\n tool_call_id: string;\n status: string;\n };\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnCustomEvent = {\n event: LangGraphEventTypes.OnCustomEvent;\n run_id: string;\n name: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_path: [string, string];\n langgraph_checkpoint_ns: string;\n checkpoint_ns: string;\n };\n data: any;\n parent_ids: string[];\n};\n\ninterface LangGraphInterruptEvent {\n event: LangGraphEventTypes.OnInterrupt;\n value: string;\n}\n\ninterface CopilotKitLangGraphInterruptEvent {\n event: LangGraphEventTypes.OnCopilotKitInterrupt;\n data: { value: string; messages: (TextMessage | ActionExecutionMessage | ResultMessage)[] };\n}\n\ninterface CopilotKitLangGraphErrorEvent {\n event: LangGraphEventTypes.OnCopilotKitError;\n data: {\n error: {\n message: string;\n type: string;\n agent_name: string;\n status_code?: number;\n response_data?: any;\n };\n thread_id: string;\n agent_name: string;\n node_name: string;\n };\n}\n\nexport type LangGraphEvent =\n | LangGraphOnChainStartEvent\n | LangGraphOnChainStreamEvent\n | LangGraphOnChainEndEvent\n | LangGraphOnChatModelStartEvent\n | LangGraphOnChatModelStreamEvent\n | LangGraphOnChatModelEndEvent\n | LangGraphOnToolStartEvent\n | LangGraphOnToolEndEvent\n | LangGraphOnCopilotKitStateSyncEvent\n | LangGraphOnCustomEvent\n | LangGraphInterruptEvent\n | CopilotKitLangGraphInterruptEvent\n | CopilotKitLangGraphErrorEvent;\n"]}