@copilotkit/runtime 0.0.0-feat-dynamic-copilotcloud-qa-20250117190454

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 (147) hide show
  1. package/.eslintrc.js +7 -0
  2. package/CHANGELOG.md +913 -0
  3. package/README.md +46 -0
  4. package/__snapshots__/schema/schema.graphql +273 -0
  5. package/dist/chunk-44O2JGUY.mjs +12 -0
  6. package/dist/chunk-44O2JGUY.mjs.map +1 -0
  7. package/dist/chunk-BETLEV37.mjs +25 -0
  8. package/dist/chunk-BETLEV37.mjs.map +1 -0
  9. package/dist/chunk-CLGKEUOA.mjs +1408 -0
  10. package/dist/chunk-CLGKEUOA.mjs.map +1 -0
  11. package/dist/chunk-D2WLFQS6.mjs +43 -0
  12. package/dist/chunk-D2WLFQS6.mjs.map +1 -0
  13. package/dist/chunk-DFOKBSIS.mjs +1 -0
  14. package/dist/chunk-DFOKBSIS.mjs.map +1 -0
  15. package/dist/chunk-FA5DJ2TZ.mjs +3437 -0
  16. package/dist/chunk-FA5DJ2TZ.mjs.map +1 -0
  17. package/dist/chunk-HNUNXFTW.mjs +129 -0
  18. package/dist/chunk-HNUNXFTW.mjs.map +1 -0
  19. package/dist/chunk-SFLMY3ES.mjs +80 -0
  20. package/dist/chunk-SFLMY3ES.mjs.map +1 -0
  21. package/dist/chunk-U3V2BCGI.mjs +152 -0
  22. package/dist/chunk-U3V2BCGI.mjs.map +1 -0
  23. package/dist/chunk-ZCU6UPCY.mjs +25 -0
  24. package/dist/chunk-ZCU6UPCY.mjs.map +1 -0
  25. package/dist/copilot-runtime-1a224a0f.d.ts +196 -0
  26. package/dist/graphql/types/base/index.d.ts +6 -0
  27. package/dist/graphql/types/base/index.js +63 -0
  28. package/dist/graphql/types/base/index.js.map +1 -0
  29. package/dist/graphql/types/base/index.mjs +8 -0
  30. package/dist/graphql/types/base/index.mjs.map +1 -0
  31. package/dist/graphql/types/converted/index.d.ts +2 -0
  32. package/dist/graphql/types/converted/index.js +187 -0
  33. package/dist/graphql/types/converted/index.js.map +1 -0
  34. package/dist/graphql/types/converted/index.mjs +17 -0
  35. package/dist/graphql/types/converted/index.mjs.map +1 -0
  36. package/dist/groq-adapter-c35c5374.d.ts +281 -0
  37. package/dist/index-24315d90.d.ts +103 -0
  38. package/dist/index.d.ts +23 -0
  39. package/dist/index.js +5258 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/index.mjs +76 -0
  42. package/dist/index.mjs.map +1 -0
  43. package/dist/langserve-a16ef8f4.d.ts +180 -0
  44. package/dist/lib/cloud/index.d.ts +6 -0
  45. package/dist/lib/cloud/index.js +18 -0
  46. package/dist/lib/cloud/index.js.map +1 -0
  47. package/dist/lib/cloud/index.mjs +1 -0
  48. package/dist/lib/cloud/index.mjs.map +1 -0
  49. package/dist/lib/index.d.ts +20 -0
  50. package/dist/lib/index.js +4906 -0
  51. package/dist/lib/index.js.map +1 -0
  52. package/dist/lib/index.mjs +58 -0
  53. package/dist/lib/index.mjs.map +1 -0
  54. package/dist/lib/integrations/index.d.ts +33 -0
  55. package/dist/lib/integrations/index.js +2229 -0
  56. package/dist/lib/integrations/index.js.map +1 -0
  57. package/dist/lib/integrations/index.mjs +34 -0
  58. package/dist/lib/integrations/index.mjs.map +1 -0
  59. package/dist/lib/integrations/nest/index.d.ts +14 -0
  60. package/dist/lib/integrations/nest/index.js +2138 -0
  61. package/dist/lib/integrations/nest/index.js.map +1 -0
  62. package/dist/lib/integrations/nest/index.mjs +13 -0
  63. package/dist/lib/integrations/nest/index.mjs.map +1 -0
  64. package/dist/lib/integrations/node-express/index.d.ts +14 -0
  65. package/dist/lib/integrations/node-express/index.js +2138 -0
  66. package/dist/lib/integrations/node-express/index.js.map +1 -0
  67. package/dist/lib/integrations/node-express/index.mjs +13 -0
  68. package/dist/lib/integrations/node-express/index.mjs.map +1 -0
  69. package/dist/lib/integrations/node-http/index.d.ts +14 -0
  70. package/dist/lib/integrations/node-http/index.js +2124 -0
  71. package/dist/lib/integrations/node-http/index.js.map +1 -0
  72. package/dist/lib/integrations/node-http/index.mjs +12 -0
  73. package/dist/lib/integrations/node-http/index.mjs.map +1 -0
  74. package/dist/service-adapters/index.d.ts +84 -0
  75. package/dist/service-adapters/index.js +1448 -0
  76. package/dist/service-adapters/index.js.map +1 -0
  77. package/dist/service-adapters/index.mjs +26 -0
  78. package/dist/service-adapters/index.mjs.map +1 -0
  79. package/dist/utils/index.d.ts +49 -0
  80. package/dist/utils/index.js +174 -0
  81. package/dist/utils/index.js.map +1 -0
  82. package/dist/utils/index.mjs +12 -0
  83. package/dist/utils/index.mjs.map +1 -0
  84. package/jest.config.js +5 -0
  85. package/package.json +85 -0
  86. package/scripts/generate-gql-schema.ts +13 -0
  87. package/src/agents/langgraph/event-source.ts +287 -0
  88. package/src/agents/langgraph/events.ts +338 -0
  89. package/src/graphql/inputs/action.input.ts +16 -0
  90. package/src/graphql/inputs/agent-session.input.ts +13 -0
  91. package/src/graphql/inputs/agent-state.input.ts +10 -0
  92. package/src/graphql/inputs/cloud-guardrails.input.ts +16 -0
  93. package/src/graphql/inputs/cloud.input.ts +8 -0
  94. package/src/graphql/inputs/context-property.input.ts +10 -0
  95. package/src/graphql/inputs/custom-property.input.ts +15 -0
  96. package/src/graphql/inputs/forwarded-parameters.input.ts +22 -0
  97. package/src/graphql/inputs/frontend.input.ts +14 -0
  98. package/src/graphql/inputs/generate-copilot-response.input.ts +47 -0
  99. package/src/graphql/inputs/message.input.ts +92 -0
  100. package/src/graphql/resolvers/copilot.resolver.ts +556 -0
  101. package/src/graphql/types/agents-response.type.ts +22 -0
  102. package/src/graphql/types/base/index.ts +10 -0
  103. package/src/graphql/types/converted/index.ts +136 -0
  104. package/src/graphql/types/copilot-response.type.ts +113 -0
  105. package/src/graphql/types/enums.ts +37 -0
  106. package/src/graphql/types/guardrails-result.type.ts +20 -0
  107. package/src/graphql/types/message-status.type.ts +40 -0
  108. package/src/graphql/types/response-status.type.ts +66 -0
  109. package/src/index.ts +4 -0
  110. package/src/lib/cloud/index.ts +4 -0
  111. package/src/lib/index.ts +8 -0
  112. package/src/lib/integrations/index.ts +6 -0
  113. package/src/lib/integrations/nest/index.ts +17 -0
  114. package/src/lib/integrations/nextjs/app-router.ts +40 -0
  115. package/src/lib/integrations/nextjs/pages-router.ts +49 -0
  116. package/src/lib/integrations/node-express/index.ts +17 -0
  117. package/src/lib/integrations/node-http/index.ts +34 -0
  118. package/src/lib/integrations/shared.ts +109 -0
  119. package/src/lib/logger.ts +28 -0
  120. package/src/lib/runtime/copilot-runtime.ts +466 -0
  121. package/src/lib/runtime/remote-action-constructors.ts +304 -0
  122. package/src/lib/runtime/remote-actions.ts +174 -0
  123. package/src/lib/runtime/remote-lg-action.ts +657 -0
  124. package/src/lib/telemetry-client.ts +52 -0
  125. package/src/service-adapters/anthropic/anthropic-adapter.ts +205 -0
  126. package/src/service-adapters/anthropic/utils.ts +144 -0
  127. package/src/service-adapters/conversion.ts +64 -0
  128. package/src/service-adapters/events.ts +419 -0
  129. package/src/service-adapters/experimental/empty/empty-adapter.ts +33 -0
  130. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +79 -0
  131. package/src/service-adapters/google/google-genai-adapter.ts +39 -0
  132. package/src/service-adapters/groq/groq-adapter.ts +173 -0
  133. package/src/service-adapters/index.ts +16 -0
  134. package/src/service-adapters/langchain/langchain-adapter.ts +99 -0
  135. package/src/service-adapters/langchain/langserve.ts +87 -0
  136. package/src/service-adapters/langchain/types.ts +14 -0
  137. package/src/service-adapters/langchain/utils.ts +306 -0
  138. package/src/service-adapters/openai/openai-adapter.ts +210 -0
  139. package/src/service-adapters/openai/openai-assistant-adapter.ts +304 -0
  140. package/src/service-adapters/openai/utils.ts +161 -0
  141. package/src/service-adapters/service-adapter.ts +30 -0
  142. package/src/service-adapters/unify/unify-adapter.ts +145 -0
  143. package/src/utils/failed-response-status-reasons.ts +48 -0
  144. package/src/utils/index.ts +1 -0
  145. package/tsconfig.json +11 -0
  146. package/tsup.config.ts +16 -0
  147. package/typedoc.json +4 -0
@@ -0,0 +1,13 @@
1
+ import "reflect-metadata";
2
+ import { buildSchema } from "../src/lib/integrations/shared";
3
+ import path from "node:path";
4
+
5
+ console.log("Generating schema...");
6
+
7
+ const outputPath = path.resolve(__dirname, "../__snapshots__/schema/schema.graphql");
8
+
9
+ buildSchema({
10
+ emitSchemaFile: path.resolve(__dirname, outputPath),
11
+ });
12
+
13
+ console.log(`Schema generated to ${outputPath}`);
@@ -0,0 +1,287 @@
1
+ import { ReplaySubject, scan, mergeMap, catchError } from "rxjs";
2
+ import { CustomEventNames, LangGraphEvent, LangGraphEventTypes } from "./events";
3
+ import { RuntimeEvent, RuntimeEventTypes } from "../../service-adapters/events";
4
+ import { randomId } from "@copilotkit/shared";
5
+
6
+ interface LangGraphEventWithState {
7
+ event: LangGraphEvent | null;
8
+
9
+ isMessageStart: boolean;
10
+ isMessageEnd: boolean;
11
+ isToolCallStart: boolean;
12
+ isToolCallEnd: boolean;
13
+ isToolCall: boolean;
14
+
15
+ lastMessageId: string | null;
16
+ lastToolCallId: string | null;
17
+ lastToolCallName: string | null;
18
+ currentContent: string | null;
19
+ }
20
+
21
+ export class RemoteLangGraphEventSource {
22
+ public eventStream$ = new ReplaySubject<LangGraphEvent>();
23
+
24
+ private shouldEmitToolCall(
25
+ shouldEmitToolCalls: string | string[] | boolean,
26
+ toolCallName: string,
27
+ ) {
28
+ if (typeof shouldEmitToolCalls === "boolean") {
29
+ return shouldEmitToolCalls;
30
+ }
31
+ if (Array.isArray(shouldEmitToolCalls)) {
32
+ return shouldEmitToolCalls.includes(toolCallName);
33
+ }
34
+ return shouldEmitToolCalls === toolCallName;
35
+ }
36
+
37
+ private getCurrentContent(event: LangGraphEvent) {
38
+ // @ts-expect-error -- LangGraph Platform implementation stores data outside of kwargs
39
+ const content = event.data?.chunk?.kwargs?.content ?? event.data?.chunk?.content;
40
+
41
+ if (!content) {
42
+ const toolCallChunks = this.getCurrentToolCallChunks(event) ?? [];
43
+ for (const chunk of toolCallChunks) {
44
+ if (chunk.args) {
45
+ return chunk.args;
46
+ }
47
+ }
48
+ }
49
+
50
+ if (typeof content === "string") {
51
+ return content;
52
+ } else if (Array.isArray(content) && content.length > 0) {
53
+ return content[0].text;
54
+ }
55
+
56
+ return null;
57
+ }
58
+
59
+ private getCurrentMessageId(event: LangGraphEvent) {
60
+ // @ts-expect-error -- LangGraph Platform implementation stores data outside of kwargs
61
+ return event.data?.chunk?.kwargs?.id ?? event.data?.chunk?.id;
62
+ }
63
+
64
+ private getCurrentToolCallChunks(event: LangGraphEvent) {
65
+ // @ts-expect-error -- LangGraph Platform implementation stores data outside of kwargs
66
+ return event.data?.chunk?.kwargs?.tool_call_chunks ?? event.data?.chunk?.tool_call_chunks;
67
+ }
68
+
69
+ private getResponseMetadata(event: LangGraphEvent) {
70
+ // @ts-expect-error -- LangGraph Platform implementation stores data outside of kwargs
71
+ return event.data?.chunk?.kwargs?.response_metadata ?? event.data?.chunk?.response_metadata;
72
+ }
73
+
74
+ processLangGraphEvents() {
75
+ let lastEventWithState: LangGraphEventWithState | null = null;
76
+
77
+ return this.eventStream$.pipe(
78
+ scan(
79
+ (acc, event) => {
80
+ if (event.event === LangGraphEventTypes.OnChatModelStream) {
81
+ const prevMessageId = acc.lastMessageId;
82
+ acc.currentContent = this.getCurrentContent(event);
83
+ acc.lastMessageId = this.getCurrentMessageId(event) ?? acc.lastMessageId;
84
+ const toolCallChunks = this.getCurrentToolCallChunks(event) ?? [];
85
+ const responseMetadata = this.getResponseMetadata(event);
86
+
87
+ acc.isToolCallStart = toolCallChunks.some((chunk: any) => chunk.name && chunk.id);
88
+ acc.isMessageStart = prevMessageId !== acc.lastMessageId && !acc.isToolCallStart;
89
+ acc.isToolCall = toolCallChunks && toolCallChunks.length > 0;
90
+ acc.isToolCallEnd = responseMetadata?.finish_reason === "tool_calls";
91
+ acc.isMessageEnd = responseMetadata?.finish_reason === "stop";
92
+ ({ name: acc.lastToolCallName, id: acc.lastToolCallId } = toolCallChunks.find(
93
+ (chunk: any) => chunk.name && chunk.id,
94
+ ) ?? { name: acc.lastToolCallName, id: acc.lastToolCallId });
95
+ }
96
+ acc.event = event;
97
+ lastEventWithState = acc; // Capture the state
98
+ return acc;
99
+ },
100
+ {
101
+ event: null,
102
+ isMessageStart: false,
103
+ isMessageEnd: false,
104
+ isToolCallStart: false,
105
+ isToolCallEnd: false,
106
+ isToolCall: false,
107
+ lastMessageId: null,
108
+ lastToolCallId: null,
109
+ lastToolCallName: null,
110
+ currentContent: null,
111
+ } as LangGraphEventWithState,
112
+ ),
113
+ mergeMap((acc): RuntimeEvent[] => {
114
+ const events: RuntimeEvent[] = [];
115
+
116
+ let shouldEmitMessages = true;
117
+ let shouldEmitToolCalls: string | string[] | boolean = true;
118
+
119
+ if (acc.event.event == LangGraphEventTypes.OnChatModelStream) {
120
+ if ("copilotkit:emit-tool-calls" in (acc.event.metadata || {})) {
121
+ shouldEmitToolCalls = acc.event.metadata["copilotkit:emit-tool-calls"];
122
+ }
123
+ if ("copilotkit:emit-messages" in (acc.event.metadata || {})) {
124
+ shouldEmitMessages = acc.event.metadata["copilotkit:emit-messages"];
125
+ }
126
+ }
127
+
128
+ const responseMetadata = this.getResponseMetadata(acc.event);
129
+
130
+ // Tool call ended: emit ActionExecutionEnd
131
+ if (
132
+ responseMetadata?.finish_reason === "tool_calls" &&
133
+ this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)
134
+ ) {
135
+ events.push({
136
+ type: RuntimeEventTypes.ActionExecutionEnd,
137
+ actionExecutionId: acc.lastToolCallId,
138
+ });
139
+ }
140
+
141
+ // Message ended: emit TextMessageEnd
142
+ if (responseMetadata?.finish_reason === "stop" && shouldEmitMessages) {
143
+ events.push({
144
+ type: RuntimeEventTypes.TextMessageEnd,
145
+ messageId: acc.lastMessageId,
146
+ });
147
+ }
148
+
149
+ switch (acc.event!.event) {
150
+ //
151
+ // Custom events
152
+ //
153
+ case LangGraphEventTypes.OnCustomEvent:
154
+ //
155
+ // Manually emit a message
156
+ //
157
+ if (acc.event.name === CustomEventNames.CopilotKitManuallyEmitMessage) {
158
+ events.push({
159
+ type: RuntimeEventTypes.TextMessageStart,
160
+ messageId: acc.event.data.message_id,
161
+ });
162
+ events.push({
163
+ type: RuntimeEventTypes.TextMessageContent,
164
+ messageId: acc.event.data.message_id,
165
+ content: acc.event.data.message,
166
+ });
167
+ events.push({
168
+ type: RuntimeEventTypes.TextMessageEnd,
169
+ messageId: acc.event.data.message_id,
170
+ });
171
+ }
172
+ //
173
+ // Manually emit a tool call
174
+ //
175
+ else if (acc.event.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {
176
+ events.push({
177
+ type: RuntimeEventTypes.ActionExecutionStart,
178
+ actionExecutionId: acc.event.data.id,
179
+ actionName: acc.event.data.name,
180
+ parentMessageId: acc.event.data.id,
181
+ });
182
+ events.push({
183
+ type: RuntimeEventTypes.ActionExecutionArgs,
184
+ actionExecutionId: acc.event.data.id,
185
+ args: JSON.stringify(acc.event.data.args),
186
+ });
187
+ events.push({
188
+ type: RuntimeEventTypes.ActionExecutionEnd,
189
+ actionExecutionId: acc.event.data.id,
190
+ });
191
+ }
192
+ break;
193
+ case LangGraphEventTypes.OnCopilotKitStateSync:
194
+ events.push({
195
+ type: RuntimeEventTypes.AgentStateMessage,
196
+ threadId: acc.event.thread_id,
197
+ role: acc.event.role,
198
+ agentName: acc.event.agent_name,
199
+ nodeName: acc.event.node_name,
200
+ runId: acc.event.run_id,
201
+ active: acc.event.active,
202
+ state: JSON.stringify(acc.event.state),
203
+ running: acc.event.running,
204
+ });
205
+ break;
206
+ case LangGraphEventTypes.OnChatModelStream:
207
+ if (
208
+ acc.isToolCallStart &&
209
+ this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)
210
+ ) {
211
+ events.push({
212
+ type: RuntimeEventTypes.ActionExecutionStart,
213
+ actionExecutionId: acc.lastToolCallId,
214
+ actionName: acc.lastToolCallName,
215
+ parentMessageId: acc.lastMessageId,
216
+ });
217
+ }
218
+ // Message started: emit TextMessageStart
219
+ else if (acc.isMessageStart && shouldEmitMessages) {
220
+ events.push({
221
+ type: RuntimeEventTypes.TextMessageStart,
222
+ messageId: acc.lastMessageId,
223
+ });
224
+ }
225
+
226
+ // Tool call args: emit ActionExecutionArgs
227
+ if (
228
+ acc.isToolCall &&
229
+ acc.currentContent &&
230
+ this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)
231
+ ) {
232
+ events.push({
233
+ type: RuntimeEventTypes.ActionExecutionArgs,
234
+ actionExecutionId: acc.lastToolCallId,
235
+ args: acc.currentContent,
236
+ });
237
+ }
238
+ // Message content: emit TextMessageContent
239
+ else if (!acc.isToolCall && acc.currentContent && shouldEmitMessages) {
240
+ events.push({
241
+ type: RuntimeEventTypes.TextMessageContent,
242
+ messageId: acc.lastMessageId,
243
+ content: acc.currentContent,
244
+ });
245
+ }
246
+ break;
247
+ }
248
+ return events;
249
+ }),
250
+ catchError((error) => {
251
+ console.error(error);
252
+ const events: RuntimeEvent[] = [];
253
+
254
+ if (lastEventWithState?.lastMessageId && !lastEventWithState.isToolCall) {
255
+ events.push({
256
+ type: RuntimeEventTypes.TextMessageEnd,
257
+ messageId: lastEventWithState.lastMessageId,
258
+ });
259
+ }
260
+ if (lastEventWithState?.lastToolCallId) {
261
+ events.push({
262
+ type: RuntimeEventTypes.ActionExecutionEnd,
263
+ actionExecutionId: lastEventWithState.lastToolCallId,
264
+ });
265
+ }
266
+
267
+ const messageId = randomId();
268
+
269
+ events.push({
270
+ type: RuntimeEventTypes.TextMessageStart,
271
+ messageId: messageId,
272
+ });
273
+ events.push({
274
+ type: RuntimeEventTypes.TextMessageContent,
275
+ messageId: messageId,
276
+ content: "❌ An error occurred. Please try again.",
277
+ });
278
+ events.push({
279
+ type: RuntimeEventTypes.TextMessageEnd,
280
+ messageId: messageId,
281
+ });
282
+
283
+ return events;
284
+ }),
285
+ );
286
+ }
287
+ }
@@ -0,0 +1,338 @@
1
+ export enum LangGraphEventTypes {
2
+ OnChainStart = "on_chain_start",
3
+ OnChainStream = "on_chain_stream",
4
+ OnChainEnd = "on_chain_end",
5
+ OnChatModelStart = "on_chat_model_start",
6
+ OnChatModelStream = "on_chat_model_stream",
7
+ OnChatModelEnd = "on_chat_model_end",
8
+ OnToolStart = "on_tool_start",
9
+ OnToolEnd = "on_tool_end",
10
+ OnCopilotKitStateSync = "on_copilotkit_state_sync",
11
+ OnCopilotKitEmitMessage = "on_copilotkit_emit_message",
12
+ OnCopilotKitEmitToolCall = "on_copilotkit_emit_tool_call",
13
+ OnCustomEvent = "on_custom_event",
14
+ }
15
+
16
+ export enum CustomEventNames {
17
+ CopilotKitManuallyEmitMessage = "copilotkit_manually_emit_message",
18
+ CopilotKitManuallyEmitToolCall = "copilotkit_manually_emit_tool_call",
19
+ CopilotKitManuallyEmitIntermediateState = "copilotkit_manually_emit_intermediate_state",
20
+ CopilotKitExit = "copilotkit_exit",
21
+ }
22
+
23
+ type LangGraphOnCopilotKitStateSyncEvent = {
24
+ event: LangGraphEventTypes.OnCopilotKitStateSync;
25
+ thread_id: string;
26
+ agent_name: string;
27
+ node_name: string;
28
+ run_id: string;
29
+ active: boolean;
30
+ role: string;
31
+ state: any;
32
+ running: boolean;
33
+ };
34
+
35
+ type LangGraphOnChainStartEvent = {
36
+ event: LangGraphEventTypes.OnChainStart;
37
+ run_id: string;
38
+ name: string;
39
+ tags: string[];
40
+ metadata: { thread_id: string };
41
+ data: {
42
+ input: any;
43
+ };
44
+ parent_ids: string[];
45
+ };
46
+
47
+ type LangGraphOnChainEndEvent = {
48
+ event: LangGraphEventTypes.OnChainEnd;
49
+ name: string;
50
+ run_id: string;
51
+ tags: string[];
52
+ metadata: {
53
+ thread_id: string;
54
+ langgraph_step: number;
55
+ langgraph_node: string;
56
+ langgraph_triggers: string[];
57
+ langgraph_task_idx: number;
58
+ thread_ts: string;
59
+ };
60
+ data: {
61
+ input: any;
62
+ output: any;
63
+ };
64
+ parent_ids: string[];
65
+ };
66
+
67
+ type LangGraphOnChatModelStartEvent = {
68
+ event: LangGraphEventTypes.OnChatModelStart;
69
+ name: string;
70
+ run_id: string;
71
+ tags: string[];
72
+ metadata: {
73
+ thread_id: string;
74
+ langgraph_step: number;
75
+ langgraph_node: string;
76
+ langgraph_triggers: string[];
77
+ langgraph_task_idx: number;
78
+ thread_ts: string;
79
+ ls_provider: string;
80
+ ls_model_name: string;
81
+ ls_model_type: string;
82
+ ls_temperature: number;
83
+ };
84
+ data: {
85
+ input: {
86
+ messages: {
87
+ lc: number;
88
+ type: string;
89
+ id: string[];
90
+ kwargs: {
91
+ content: string;
92
+ type: string;
93
+ id: string;
94
+ };
95
+ }[][];
96
+ };
97
+ };
98
+ parent_ids: string[];
99
+ };
100
+
101
+ type LangGraphOnChatModelStreamEvent = {
102
+ event: LangGraphEventTypes.OnChatModelStream;
103
+ name: string;
104
+ run_id: string;
105
+ tags: string[];
106
+ metadata: {
107
+ thread_id: string;
108
+ langgraph_step: number;
109
+ langgraph_node: string;
110
+ langgraph_triggers: string[];
111
+ langgraph_task_idx: number;
112
+ thread_ts: string;
113
+ ls_provider: string;
114
+ ls_model_name: string;
115
+ ls_model_type: string;
116
+ ls_temperature: number;
117
+ };
118
+ data: {
119
+ chunk: {
120
+ lc: number;
121
+ type: string;
122
+ id: string;
123
+ kwargs: {
124
+ content: string | { text: string; type: string; index: number }[];
125
+ additional_kwargs: {
126
+ tool_calls: {
127
+ index: number;
128
+ id: string;
129
+ function: { arguments: string; name: string };
130
+ type: string;
131
+ }[];
132
+ };
133
+ type: string;
134
+ id: string;
135
+ tool_calls: { name: string; args: {}; id: string; type: string }[];
136
+ tool_call_chunks: {
137
+ name: string;
138
+ args: string;
139
+ id: string;
140
+ index: number;
141
+ type: string;
142
+ }[];
143
+ invalid_tool_calls: any[];
144
+ };
145
+ };
146
+ };
147
+ parent_ids: string[];
148
+ };
149
+
150
+ type LangGraphOnChatModelEndEvent = {
151
+ event: LangGraphEventTypes.OnChatModelEnd;
152
+ name: string;
153
+ run_id: string;
154
+ tags: string[];
155
+ metadata: {
156
+ thread_id: string;
157
+ langgraph_step: number;
158
+ langgraph_node: string;
159
+ langgraph_triggers: string[];
160
+ langgraph_task_idx: number;
161
+ thread_ts: string;
162
+ ls_provider: string;
163
+ ls_model_name: string;
164
+ ls_model_type: string;
165
+ ls_temperature: number;
166
+ };
167
+ data: {
168
+ input: any;
169
+ output: {
170
+ generations: {
171
+ text: string;
172
+ generation_info: {
173
+ finish_reason: string;
174
+ model_name: string;
175
+ system_fingerprint: string;
176
+ };
177
+ type: string;
178
+ message: {
179
+ lc: number;
180
+ type: string;
181
+ id: string[];
182
+ kwargs: {
183
+ content: string;
184
+ additional_kwargs: {
185
+ tool_calls: {
186
+ index: number;
187
+ id: string;
188
+ function: { arguments: string; name: string };
189
+ type: string;
190
+ }[];
191
+ };
192
+ response_metadata: {
193
+ finish_reason: string;
194
+ model_name: string;
195
+ system_fingerprint: string;
196
+ };
197
+ type: string;
198
+ id: string;
199
+ tool_calls: { name: string; args: { query: string }; id: string; type: string }[];
200
+ invalid_tool_calls: any[];
201
+ };
202
+ };
203
+ }[][];
204
+ llm_output: any;
205
+ run: any;
206
+ };
207
+ };
208
+ parent_ids: string[];
209
+ };
210
+
211
+ type LangGraphOnChainStreamEvent = {
212
+ event: LangGraphEventTypes.OnChainStream;
213
+ name: string;
214
+ run_id: string;
215
+ tags: string[];
216
+ metadata: {
217
+ thread_id: string;
218
+ langgraph_step?: number;
219
+ langgraph_node?: string;
220
+ langgraph_triggers?: string[];
221
+ langgraph_task_idx?: number;
222
+ thread_ts?: string;
223
+ };
224
+ data: {
225
+ chunk: {
226
+ messages: {
227
+ lc: number;
228
+ type: string;
229
+ id: string[];
230
+ kwargs: {
231
+ content: string;
232
+ additional_kwargs?: {
233
+ tool_calls?: {
234
+ index: number;
235
+ id: string;
236
+ function: { arguments: string; name: string };
237
+ type: string;
238
+ }[];
239
+ };
240
+ response_metadata?: {
241
+ finish_reason: string;
242
+ model_name: string;
243
+ system_fingerprint: string;
244
+ };
245
+ type: string;
246
+ id: string;
247
+ tool_calls?: { name: string; args: { query: string }; id: string; type: string }[];
248
+ invalid_tool_calls?: any[];
249
+ };
250
+ }[];
251
+ };
252
+ };
253
+ parent_ids: string[];
254
+ };
255
+
256
+ type LangGraphOnToolStartEvent = {
257
+ event: LangGraphEventTypes.OnToolStart;
258
+ name: string;
259
+ run_id: string;
260
+ tags: string[];
261
+ metadata: {
262
+ thread_id: string;
263
+ langgraph_step: number;
264
+ langgraph_node: string;
265
+ langgraph_triggers: string[];
266
+ langgraph_task_idx: number;
267
+ thread_ts: string;
268
+ };
269
+ data: {
270
+ input: {
271
+ query: string;
272
+ };
273
+ };
274
+ parent_ids: string[];
275
+ };
276
+
277
+ type LangGraphOnToolEndEvent = {
278
+ event: LangGraphEventTypes.OnToolEnd;
279
+ name: string;
280
+ run_id: string;
281
+ tags: string[];
282
+ metadata: {
283
+ thread_id: string;
284
+ langgraph_step: number;
285
+ langgraph_node: string;
286
+ langgraph_triggers: string[];
287
+ langgraph_task_idx: number;
288
+ thread_ts: string;
289
+ };
290
+ data: {
291
+ input: {
292
+ query: string;
293
+ };
294
+ output: {
295
+ lc: number;
296
+ type: string;
297
+ id: string[];
298
+ kwargs: {
299
+ content: string[];
300
+ type: string;
301
+ name: string;
302
+ tool_call_id: string;
303
+ status: string;
304
+ };
305
+ };
306
+ };
307
+ parent_ids: string[];
308
+ };
309
+
310
+ type LangGraphOnCustomEvent = {
311
+ event: LangGraphEventTypes.OnCustomEvent;
312
+ run_id: string;
313
+ name: string;
314
+ tags: string[];
315
+ metadata: {
316
+ thread_id: string;
317
+ langgraph_step: number;
318
+ langgraph_node: string;
319
+ langgraph_triggers: string[];
320
+ langgraph_path: [string, string];
321
+ langgraph_checkpoint_ns: string;
322
+ checkpoint_ns: string;
323
+ };
324
+ data: any;
325
+ parent_ids: string[];
326
+ };
327
+
328
+ export type LangGraphEvent =
329
+ | LangGraphOnChainStartEvent
330
+ | LangGraphOnChainStreamEvent
331
+ | LangGraphOnChainEndEvent
332
+ | LangGraphOnChatModelStartEvent
333
+ | LangGraphOnChatModelStreamEvent
334
+ | LangGraphOnChatModelEndEvent
335
+ | LangGraphOnToolStartEvent
336
+ | LangGraphOnToolEndEvent
337
+ | LangGraphOnCopilotKitStateSyncEvent
338
+ | LangGraphOnCustomEvent;
@@ -0,0 +1,16 @@
1
+ import { Field, InputType } from "type-graphql";
2
+ import { ActionInputAvailability } from "../types/enums";
3
+ @InputType()
4
+ export class ActionInput {
5
+ @Field(() => String)
6
+ name: string;
7
+
8
+ @Field(() => String)
9
+ description: string;
10
+
11
+ @Field(() => String)
12
+ jsonSchema: string;
13
+
14
+ @Field(() => ActionInputAvailability, { nullable: true })
15
+ available?: ActionInputAvailability;
16
+ }
@@ -0,0 +1,13 @@
1
+ import { Field, InputType } from "type-graphql";
2
+
3
+ @InputType()
4
+ export class AgentSessionInput {
5
+ @Field(() => String)
6
+ agentName: string;
7
+
8
+ @Field(() => String, { nullable: true })
9
+ threadId?: string;
10
+
11
+ @Field(() => String, { nullable: true })
12
+ nodeName?: string;
13
+ }
@@ -0,0 +1,10 @@
1
+ import { Field, InputType } from "type-graphql";
2
+
3
+ @InputType()
4
+ export class AgentStateInput {
5
+ @Field(() => String)
6
+ agentName: string;
7
+
8
+ @Field(() => String)
9
+ state: string;
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Field, InputType } from "type-graphql";
2
+
3
+ @InputType()
4
+ export class GuardrailsRuleInput {
5
+ @Field(() => [String], { nullable: true })
6
+ allowList?: string[] = [];
7
+
8
+ @Field(() => [String], { nullable: true })
9
+ denyList?: string[] = [];
10
+ }
11
+
12
+ @InputType()
13
+ export class GuardrailsInput {
14
+ @Field(() => GuardrailsRuleInput, { nullable: false })
15
+ inputValidationRules: GuardrailsRuleInput;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { Field, InputType } from "type-graphql";
2
+ import { GuardrailsInput } from "./cloud-guardrails.input";
3
+
4
+ @InputType()
5
+ export class CloudInput {
6
+ @Field(() => GuardrailsInput, { nullable: true })
7
+ guardrails?: GuardrailsInput;
8
+ }