@copilotkit/runtime 0.0.0-0.0.0-max-changeset-10101010101010-20260109191632

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 (122) hide show
  1. package/.eslintrc.js +7 -0
  2. package/CHANGELOG.md +2905 -0
  3. package/LICENSE +21 -0
  4. package/README.md +76 -0
  5. package/__snapshots__/schema/schema.graphql +371 -0
  6. package/dist/index.d.ts +1495 -0
  7. package/dist/index.js +5644 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/index.mjs +5601 -0
  10. package/dist/index.mjs.map +1 -0
  11. package/dist/langgraph.d.ts +284 -0
  12. package/dist/langgraph.js +211 -0
  13. package/dist/langgraph.js.map +1 -0
  14. package/dist/langgraph.mjs +206 -0
  15. package/dist/langgraph.mjs.map +1 -0
  16. package/dist/v2/index.d.ts +2 -0
  17. package/dist/v2/index.js +22 -0
  18. package/dist/v2/index.js.map +1 -0
  19. package/dist/v2/index.mjs +5 -0
  20. package/dist/v2/index.mjs.map +1 -0
  21. package/jest.config.js +10 -0
  22. package/package.json +143 -0
  23. package/scripts/generate-gql-schema.ts +13 -0
  24. package/src/agents/langgraph/event-source.ts +329 -0
  25. package/src/agents/langgraph/events.ts +377 -0
  26. package/src/graphql/inputs/action.input.ts +16 -0
  27. package/src/graphql/inputs/agent-session.input.ts +13 -0
  28. package/src/graphql/inputs/agent-state.input.ts +13 -0
  29. package/src/graphql/inputs/cloud-guardrails.input.ts +16 -0
  30. package/src/graphql/inputs/cloud.input.ts +8 -0
  31. package/src/graphql/inputs/context-property.input.ts +10 -0
  32. package/src/graphql/inputs/copilot-context.input.ts +10 -0
  33. package/src/graphql/inputs/custom-property.input.ts +15 -0
  34. package/src/graphql/inputs/extensions.input.ts +21 -0
  35. package/src/graphql/inputs/forwarded-parameters.input.ts +22 -0
  36. package/src/graphql/inputs/frontend.input.ts +14 -0
  37. package/src/graphql/inputs/generate-copilot-response.input.ts +59 -0
  38. package/src/graphql/inputs/load-agent-state.input.ts +10 -0
  39. package/src/graphql/inputs/message.input.ts +110 -0
  40. package/src/graphql/inputs/meta-event.input.ts +18 -0
  41. package/src/graphql/message-conversion/agui-to-gql.test.ts +1263 -0
  42. package/src/graphql/message-conversion/agui-to-gql.ts +333 -0
  43. package/src/graphql/message-conversion/gql-to-agui.test.ts +1580 -0
  44. package/src/graphql/message-conversion/gql-to-agui.ts +278 -0
  45. package/src/graphql/message-conversion/index.ts +2 -0
  46. package/src/graphql/message-conversion/roundtrip-conversion.test.ts +526 -0
  47. package/src/graphql/resolvers/copilot.resolver.ts +708 -0
  48. package/src/graphql/resolvers/state.resolver.ts +27 -0
  49. package/src/graphql/types/agents-response.type.ts +19 -0
  50. package/src/graphql/types/base/index.ts +10 -0
  51. package/src/graphql/types/converted/index.ts +176 -0
  52. package/src/graphql/types/copilot-response.type.ts +138 -0
  53. package/src/graphql/types/enums.ts +38 -0
  54. package/src/graphql/types/extensions-response.type.ts +23 -0
  55. package/src/graphql/types/guardrails-result.type.ts +20 -0
  56. package/src/graphql/types/load-agent-state-response.type.ts +17 -0
  57. package/src/graphql/types/message-status.type.ts +42 -0
  58. package/src/graphql/types/meta-events.type.ts +71 -0
  59. package/src/graphql/types/response-status.type.ts +66 -0
  60. package/src/index.ts +4 -0
  61. package/src/langgraph.ts +1 -0
  62. package/src/lib/cloud/index.ts +4 -0
  63. package/src/lib/error-messages.ts +200 -0
  64. package/src/lib/index.ts +52 -0
  65. package/src/lib/integrations/index.ts +6 -0
  66. package/src/lib/integrations/nest/index.ts +14 -0
  67. package/src/lib/integrations/nextjs/app-router.ts +38 -0
  68. package/src/lib/integrations/nextjs/pages-router.ts +39 -0
  69. package/src/lib/integrations/node-express/index.ts +14 -0
  70. package/src/lib/integrations/node-http/index.ts +143 -0
  71. package/src/lib/integrations/node-http/request-handler.ts +111 -0
  72. package/src/lib/integrations/shared.ts +161 -0
  73. package/src/lib/logger.ts +28 -0
  74. package/src/lib/observability.ts +160 -0
  75. package/src/lib/runtime/__tests__/copilot-runtime-error.test.ts +169 -0
  76. package/src/lib/runtime/__tests__/mcp-tools-utils.test.ts +464 -0
  77. package/src/lib/runtime/agent-integrations/langgraph/agent.ts +209 -0
  78. package/src/lib/runtime/agent-integrations/langgraph/consts.ts +34 -0
  79. package/src/lib/runtime/agent-integrations/langgraph/index.ts +2 -0
  80. package/src/lib/runtime/copilot-runtime.ts +710 -0
  81. package/src/lib/runtime/mcp-tools-utils.ts +254 -0
  82. package/src/lib/runtime/retry-utils.ts +96 -0
  83. package/src/lib/runtime/telemetry-agent-runner.ts +139 -0
  84. package/src/lib/runtime/types.ts +49 -0
  85. package/src/lib/runtime/utils.ts +87 -0
  86. package/src/lib/streaming.ts +202 -0
  87. package/src/lib/telemetry-client.ts +64 -0
  88. package/src/service-adapters/anthropic/anthropic-adapter.ts +452 -0
  89. package/src/service-adapters/anthropic/utils.ts +152 -0
  90. package/src/service-adapters/bedrock/bedrock-adapter.ts +73 -0
  91. package/src/service-adapters/conversion.ts +67 -0
  92. package/src/service-adapters/empty/empty-adapter.ts +38 -0
  93. package/src/service-adapters/events.ts +294 -0
  94. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +84 -0
  95. package/src/service-adapters/google/google-genai-adapter.test.ts +104 -0
  96. package/src/service-adapters/google/google-genai-adapter.ts +88 -0
  97. package/src/service-adapters/groq/groq-adapter.ts +203 -0
  98. package/src/service-adapters/index.ts +18 -0
  99. package/src/service-adapters/langchain/langchain-adapter.ts +111 -0
  100. package/src/service-adapters/langchain/langserve.ts +88 -0
  101. package/src/service-adapters/langchain/types.ts +14 -0
  102. package/src/service-adapters/langchain/utils.ts +313 -0
  103. package/src/service-adapters/openai/openai-adapter.ts +283 -0
  104. package/src/service-adapters/openai/openai-assistant-adapter.ts +344 -0
  105. package/src/service-adapters/openai/utils.ts +199 -0
  106. package/src/service-adapters/service-adapter.ts +41 -0
  107. package/src/service-adapters/shared/error-utils.ts +61 -0
  108. package/src/service-adapters/shared/index.ts +1 -0
  109. package/src/service-adapters/unify/unify-adapter.ts +151 -0
  110. package/src/utils/failed-response-status-reasons.ts +70 -0
  111. package/src/utils/index.ts +1 -0
  112. package/src/v2/index.ts +3 -0
  113. package/tests/global.d.ts +13 -0
  114. package/tests/service-adapters/anthropic/allowlist-approach.test.ts +226 -0
  115. package/tests/service-adapters/anthropic/anthropic-adapter.test.ts +389 -0
  116. package/tests/service-adapters/openai/allowlist-approach.test.ts +238 -0
  117. package/tests/service-adapters/openai/openai-adapter.test.ts +301 -0
  118. package/tests/setup.jest.ts +21 -0
  119. package/tests/tsconfig.json +10 -0
  120. package/tsconfig.json +13 -0
  121. package/tsup.config.ts +20 -0
  122. package/typedoc.json +4 -0
@@ -0,0 +1,206 @@
1
+ import { map } from 'rxjs';
2
+ import { LangGraphAgent as LangGraphAgent$1 } from '@ag-ui/langgraph';
3
+ export { LangGraphHttpAgent } from '@ag-ui/langgraph';
4
+ import { EventType } from '@ag-ui/client';
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+
9
+ // src/lib/runtime/agent-integrations/langgraph/consts.ts
10
+ var CustomEventNames;
11
+ (function(CustomEventNames3) {
12
+ CustomEventNames3["CopilotKitManuallyEmitMessage"] = "copilotkit_manually_emit_message";
13
+ CustomEventNames3["CopilotKitManuallyEmitToolCall"] = "copilotkit_manually_emit_tool_call";
14
+ CustomEventNames3["CopilotKitManuallyEmitIntermediateState"] = "copilotkit_manually_emit_intermediate_state";
15
+ CustomEventNames3["CopilotKitExit"] = "copilotkit_exit";
16
+ })(CustomEventNames || (CustomEventNames = {}));
17
+
18
+ // src/agents/langgraph/events.ts
19
+ var LangGraphEventTypes;
20
+ (function(LangGraphEventTypes2) {
21
+ LangGraphEventTypes2["OnChainStart"] = "on_chain_start";
22
+ LangGraphEventTypes2["OnChainStream"] = "on_chain_stream";
23
+ LangGraphEventTypes2["OnChainEnd"] = "on_chain_end";
24
+ LangGraphEventTypes2["OnChatModelStart"] = "on_chat_model_start";
25
+ LangGraphEventTypes2["OnChatModelStream"] = "on_chat_model_stream";
26
+ LangGraphEventTypes2["OnChatModelEnd"] = "on_chat_model_end";
27
+ LangGraphEventTypes2["OnToolStart"] = "on_tool_start";
28
+ LangGraphEventTypes2["OnToolEnd"] = "on_tool_end";
29
+ LangGraphEventTypes2["OnCopilotKitStateSync"] = "on_copilotkit_state_sync";
30
+ LangGraphEventTypes2["OnCopilotKitEmitMessage"] = "on_copilotkit_emit_message";
31
+ LangGraphEventTypes2["OnCopilotKitEmitToolCall"] = "on_copilotkit_emit_tool_call";
32
+ LangGraphEventTypes2["OnCustomEvent"] = "on_custom_event";
33
+ LangGraphEventTypes2["OnInterrupt"] = "on_interrupt";
34
+ LangGraphEventTypes2["OnCopilotKitInterrupt"] = "on_copilotkit_interrupt";
35
+ LangGraphEventTypes2["OnCopilotKitError"] = "on_copilotkit_error";
36
+ })(LangGraphEventTypes || (LangGraphEventTypes = {}));
37
+ var MetaEventNames;
38
+ (function(MetaEventNames2) {
39
+ MetaEventNames2["LangGraphInterruptEvent"] = "LangGraphInterruptEvent";
40
+ MetaEventNames2["CopilotKitLangGraphInterruptEvent"] = "CopilotKitLangGraphInterruptEvent";
41
+ })(MetaEventNames || (MetaEventNames = {}));
42
+ var CustomEventNames2;
43
+ (function(CustomEventNames3) {
44
+ CustomEventNames3["CopilotKitManuallyEmitMessage"] = "copilotkit_manually_emit_message";
45
+ CustomEventNames3["CopilotKitManuallyEmitToolCall"] = "copilotkit_manually_emit_tool_call";
46
+ CustomEventNames3["CopilotKitManuallyEmitIntermediateState"] = "copilotkit_manually_emit_intermediate_state";
47
+ CustomEventNames3["CopilotKitExit"] = "copilotkit_exit";
48
+ })(CustomEventNames2 || (CustomEventNames2 = {}));
49
+ var LangGraphAgent = class extends LangGraphAgent$1 {
50
+ constructor(config) {
51
+ super(config);
52
+ }
53
+ // @ts-ignore
54
+ clone() {
55
+ return new LangGraphAgent(this.config);
56
+ }
57
+ dispatchEvent(event) {
58
+ if (event.type === EventType.CUSTOM) {
59
+ const customEvent = event;
60
+ if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitMessage) {
61
+ this.subscriber.next({
62
+ type: EventType.TEXT_MESSAGE_START,
63
+ role: "assistant",
64
+ messageId: customEvent.value.message_id,
65
+ rawEvent: event
66
+ });
67
+ this.subscriber.next({
68
+ type: EventType.TEXT_MESSAGE_CONTENT,
69
+ messageId: customEvent.value.message_id,
70
+ delta: customEvent.value.message,
71
+ rawEvent: event
72
+ });
73
+ this.subscriber.next({
74
+ type: EventType.TEXT_MESSAGE_END,
75
+ messageId: customEvent.value.message_id,
76
+ rawEvent: event
77
+ });
78
+ return true;
79
+ }
80
+ if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {
81
+ this.subscriber.next({
82
+ type: EventType.TOOL_CALL_START,
83
+ toolCallId: customEvent.value.id,
84
+ toolCallName: customEvent.value.name,
85
+ parentMessageId: customEvent.value.id,
86
+ rawEvent: event
87
+ });
88
+ this.subscriber.next({
89
+ type: EventType.TOOL_CALL_ARGS,
90
+ toolCallId: customEvent.value.id,
91
+ delta: customEvent.value.args,
92
+ rawEvent: event
93
+ });
94
+ this.subscriber.next({
95
+ type: EventType.TOOL_CALL_END,
96
+ toolCallId: customEvent.value.id,
97
+ rawEvent: event
98
+ });
99
+ return true;
100
+ }
101
+ if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitIntermediateState) {
102
+ this.activeRun.manuallyEmittedState = customEvent.value;
103
+ this.dispatchEvent({
104
+ type: EventType.STATE_SNAPSHOT,
105
+ snapshot: this.getStateSnapshot({
106
+ values: this.activeRun.manuallyEmittedState
107
+ }),
108
+ rawEvent: event
109
+ });
110
+ return true;
111
+ }
112
+ if (customEvent.name === CustomEventNames.CopilotKitExit) {
113
+ this.subscriber.next({
114
+ type: EventType.CUSTOM,
115
+ name: "Exit",
116
+ value: true
117
+ });
118
+ return true;
119
+ }
120
+ }
121
+ const rawEvent = event.rawEvent;
122
+ if (!rawEvent) {
123
+ this.subscriber.next(event);
124
+ return true;
125
+ }
126
+ const isMessageEvent = event.type === EventType.TEXT_MESSAGE_START || event.type === EventType.TEXT_MESSAGE_CONTENT || event.type === EventType.TEXT_MESSAGE_END;
127
+ const isToolEvent = event.type === EventType.TOOL_CALL_START || event.type === EventType.TOOL_CALL_ARGS || event.type === EventType.TOOL_CALL_END;
128
+ if ("copilotkit:emit-tool-calls" in (rawEvent.metadata || {})) {
129
+ if (rawEvent.metadata["copilotkit:emit-tool-calls"] === false && isToolEvent) {
130
+ return false;
131
+ }
132
+ }
133
+ if ("copilotkit:emit-messages" in (rawEvent.metadata || {})) {
134
+ if (rawEvent.metadata["copilotkit:emit-messages"] === false && isMessageEvent) {
135
+ return false;
136
+ }
137
+ }
138
+ this.subscriber.next(event);
139
+ return true;
140
+ }
141
+ // @ts-ignore
142
+ run(input) {
143
+ return super.run(input).pipe(map((processedEvent) => {
144
+ var _a, _b, _c, _d, _e;
145
+ if (processedEvent.type === EventType.RAW) {
146
+ const event = processedEvent.event ?? processedEvent.rawEvent;
147
+ const eventType = event.event;
148
+ const toolCallData = (_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.tool_call_chunks) == null ? void 0 : _c[0];
149
+ 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));
150
+ if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {
151
+ return {
152
+ type: EventType.CUSTOM,
153
+ name: "PredictState",
154
+ value: event.metadata["copilotkit:emit-intermediate-state"]
155
+ };
156
+ }
157
+ }
158
+ return processedEvent;
159
+ }));
160
+ }
161
+ langGraphDefaultMergeState(state, messages, input) {
162
+ const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);
163
+ const { tools: returnedTools, "ag-ui": agui } = aguiMergedState;
164
+ const rawCombinedTools = [
165
+ ...returnedTools ?? [],
166
+ ...(agui == null ? void 0 : agui.tools) ?? []
167
+ ];
168
+ const combinedTools = Array.from(new Map(rawCombinedTools.map((t) => [
169
+ (t == null ? void 0 : t.id) ?? (t == null ? void 0 : t.name) ?? (t == null ? void 0 : t.key) ?? JSON.stringify(t),
170
+ t
171
+ ])).values());
172
+ return {
173
+ ...aguiMergedState,
174
+ copilotkit: {
175
+ actions: combinedTools,
176
+ context: (agui == null ? void 0 : agui.context) ?? []
177
+ }
178
+ };
179
+ }
180
+ async getSchemaKeys() {
181
+ const CONSTANT_KEYS = [
182
+ "copilotkit"
183
+ ];
184
+ const schemaKeys = await super.getSchemaKeys();
185
+ return {
186
+ config: schemaKeys.config,
187
+ input: schemaKeys.input ? [
188
+ ...schemaKeys.input,
189
+ ...CONSTANT_KEYS
190
+ ] : null,
191
+ output: schemaKeys.output ? [
192
+ ...schemaKeys.output,
193
+ ...CONSTANT_KEYS
194
+ ] : null,
195
+ context: schemaKeys.context ? [
196
+ ...schemaKeys.context,
197
+ ...CONSTANT_KEYS
198
+ ] : null
199
+ };
200
+ }
201
+ };
202
+ __name(LangGraphAgent, "LangGraphAgent");
203
+
204
+ export { CustomEventNames, LangGraphAgent };
205
+ //# sourceMappingURL=out.js.map
206
+ //# sourceMappingURL=langgraph.mjs.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":"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","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"]}
@@ -0,0 +1,2 @@
1
+ export * from '@copilotkitnext/runtime';
2
+ export * from '@copilotkitnext/agent';
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('reflect-metadata');
4
+ var runtime = require('@copilotkitnext/runtime');
5
+ var agent = require('@copilotkitnext/agent');
6
+
7
+
8
+
9
+ Object.keys(runtime).forEach(function (k) {
10
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
11
+ enumerable: true,
12
+ get: function () { return runtime[k]; }
13
+ });
14
+ });
15
+ Object.keys(agent).forEach(function (k) {
16
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
17
+ enumerable: true,
18
+ get: function () { return agent[k]; }
19
+ });
20
+ });
21
+ //# sourceMappingURL=out.js.map
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/v2/index.ts"],"names":[],"mappings":";AAAA,OAAO;AACP,cAAc;AACd,cAAc","sourcesContent":["import \"reflect-metadata\";\nexport * from \"@copilotkitnext/runtime\";\nexport * from \"@copilotkitnext/agent\";\n"]}
@@ -0,0 +1,5 @@
1
+ import 'reflect-metadata';
2
+ export * from '@copilotkitnext/runtime';
3
+ export * from '@copilotkitnext/agent';
4
+ //# sourceMappingURL=out.js.map
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/v2/index.ts"],"names":[],"mappings":";AAAA,OAAO;AACP,cAAc;AACd,cAAc","sourcesContent":["import \"reflect-metadata\";\nexport * from \"@copilotkitnext/runtime\";\nexport * from \"@copilotkitnext/agent\";\n"]}
package/jest.config.js ADDED
@@ -0,0 +1,10 @@
1
+ /** @type {import('ts-jest').JestConfigWithTsJest} */
2
+ module.exports = {
3
+ preset: "ts-jest",
4
+ testEnvironment: "node",
5
+ setupFilesAfterEnv: ["./tests/setup.jest.ts"],
6
+ modulePathIgnorePatterns: ["<rootDir>/dist/"],
7
+ transform: {
8
+ "^.+\\.ts?$": "ts-jest",
9
+ },
10
+ };
package/package.json ADDED
@@ -0,0 +1,143 @@
1
+ {
2
+ "name": "@copilotkit/runtime",
3
+ "private": false,
4
+ "homepage": "https://github.com/CopilotKit/CopilotKit",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/CopilotKit/CopilotKit.git"
8
+ },
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "version": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632",
13
+ "sideEffects": false,
14
+ "main": "./dist/index.js",
15
+ "module": "./dist/index.mjs",
16
+ "exports": {
17
+ ".": {
18
+ "import": "./dist/index.mjs",
19
+ "require": "./dist/index.js",
20
+ "types": "./dist/index.d.ts"
21
+ },
22
+ "./v2": {
23
+ "import": "./dist/v2/index.mjs",
24
+ "require": "./dist/v2/index.js",
25
+ "types": "./dist/v2/index.d.ts"
26
+ },
27
+ "./langgraph": {
28
+ "import": "./dist/langgraph.mjs",
29
+ "require": "./dist/langgraph.js",
30
+ "types": "./dist/langgraph.d.ts"
31
+ }
32
+ },
33
+ "types": "./dist/index.d.ts",
34
+ "license": "MIT",
35
+ "devDependencies": {
36
+ "@jest/globals": "^29.7.0",
37
+ "@swc/core": "1.5.28",
38
+ "@types/jest": "^29.5.12",
39
+ "@types/node": "^18.11.17",
40
+ "@whatwg-node/server": "^0.9.34",
41
+ "eslint": "^8.56.0",
42
+ "jest": "^29.6.4",
43
+ "nodemon": "^3.1.3",
44
+ "ts-jest": "^29.1.1",
45
+ "ts-node": "^10.9.2",
46
+ "tsup": "^6.7.0",
47
+ "typescript": "^5.2.3",
48
+ "vitest": "^3.2.4",
49
+ "@copilotkit/shared": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632",
50
+ "@copilotkitnext/agent": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632",
51
+ "eslint-config-custom": "1.4.6",
52
+ "tsconfig": "1.4.6",
53
+ "@copilotkitnext/runtime": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632"
54
+ },
55
+ "dependencies": {
56
+ "@graphql-yoga/plugin-defer-stream": "^3.3.1",
57
+ "@hono/node-server": "^1.13.5",
58
+ "@scarf/scarf": "^1.3.0",
59
+ "class-transformer": "^0.5.1",
60
+ "class-validator": "^0.14.1",
61
+ "graphql": "^16.8.1",
62
+ "graphql-scalars": "^1.23.0",
63
+ "graphql-yoga": "^5.3.1",
64
+ "hono": "^4.10.3",
65
+ "openai": "^4.85.1",
66
+ "partial-json": "^0.1.7",
67
+ "pino": "^9.2.0",
68
+ "pino-pretty": "^11.2.1",
69
+ "reflect-metadata": "^0.2.2",
70
+ "rxjs": "7.8.1",
71
+ "type-graphql": "2.0.0-rc.1",
72
+ "zod": "^3.23.3"
73
+ },
74
+ "peerDependencies": {
75
+ "@ag-ui/client": "^0.0.42",
76
+ "@ag-ui/core": "^0.0.42",
77
+ "@ag-ui/langgraph": "^0.0.20",
78
+ "@anthropic-ai/sdk": "^0.57.0",
79
+ "@langchain/aws": ">=0.1.9",
80
+ "@langchain/core": ">=0.3.66",
81
+ "@langchain/community": ">=0.3.58",
82
+ "@langchain/google-gauth": ">=0.1.0",
83
+ "@langchain/langgraph-sdk": ">=0.1.2",
84
+ "@langchain/openai": ">=0.4.2",
85
+ "groq-sdk": ">=0.3.0 <1.0.0",
86
+ "langchain": ">=0.3.3",
87
+ "openai": "^4.85.1",
88
+ "@copilotkit/shared": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632",
89
+ "@copilotkitnext/runtime": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632",
90
+ "@copilotkitnext/agent": "0.0.0-0.0.0-max-changeset-10101010101010-20260109191632"
91
+ },
92
+ "peerDependenciesMeta": {
93
+ "@anthropic-ai/sdk": {
94
+ "optional": true
95
+ },
96
+ "@langchain/aws": {
97
+ "optional": true
98
+ },
99
+ "@langchain/community": {
100
+ "optional": true
101
+ },
102
+ "@langchain/google-gauth": {
103
+ "optional": true
104
+ },
105
+ "@langchain/langgraph-sdk": {
106
+ "optional": true
107
+ },
108
+ "@langchain/openai": {
109
+ "optional": true
110
+ },
111
+ "groq-sdk": {
112
+ "optional": true
113
+ },
114
+ "langchain": {
115
+ "optional": true
116
+ },
117
+ "openai": {
118
+ "optional": true
119
+ }
120
+ },
121
+ "keywords": [
122
+ "copilotkit",
123
+ "copilot",
124
+ "react",
125
+ "nextjs",
126
+ "nodejs",
127
+ "ai",
128
+ "assistant",
129
+ "javascript",
130
+ "automation",
131
+ "textarea"
132
+ ],
133
+ "scripts": {
134
+ "build": "pnpm run generate-graphql-schema && tsup",
135
+ "dev": "tsup --watch --onSuccess \"pnpm run generate-graphql-schema\"",
136
+ "test": "jest --passWithNoTests",
137
+ "check-types": "tsc --noEmit",
138
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next && rm -rf __snapshots__",
139
+ "generate-graphql-schema": "rm -rf __snapshots__ && ts-node ./scripts/generate-gql-schema.ts",
140
+ "link:global": "pnpm link --global",
141
+ "unlink:global": "pnpm unlink --global"
142
+ }
143
+ }
@@ -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}`);