@copilotkit/runtime 1.7.0-next.0 → 1.7.0-next.1
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.
- package/CHANGELOG.md +7 -0
- package/README.md +75 -0
- package/dist/{chunk-PH24IU7T.mjs → chunk-D6YNY2XB.mjs} +2 -2
- package/dist/chunk-PTC5JN3P.mjs +1 -0
- package/dist/{chunk-34Y5DNNJ.mjs → chunk-QTRO3GPV.mjs} +120 -5
- package/dist/{chunk-34Y5DNNJ.mjs.map → chunk-QTRO3GPV.mjs.map} +1 -1
- package/dist/{chunk-2BN7NZNC.mjs → chunk-QZ6X33MR.mjs} +2 -2
- package/dist/{chunk-ZYFN76KV.mjs → chunk-RQS3BGAT.mjs} +2 -2
- package/dist/{copilot-runtime-15bfc4f4.d.ts → copilot-runtime-5103c7e7.d.ts} +66 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +120 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -5
- package/dist/index.mjs.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.js +120 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +7 -5
- package/dist/lib/integrations/index.d.ts +2 -2
- package/dist/lib/integrations/index.js +1 -1
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +4 -4
- package/dist/lib/integrations/nest/index.d.ts +1 -1
- package/dist/lib/integrations/nest/index.js +1 -1
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +2 -2
- package/dist/lib/integrations/node-express/index.d.ts +1 -1
- package/dist/lib/integrations/node-express/index.js +1 -1
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +2 -2
- package/dist/lib/integrations/node-http/index.d.ts +1 -1
- package/dist/lib/integrations/node-http/index.js +1 -1
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +1 -1
- package/package.json +2 -2
- package/src/lib/index.ts +1 -0
- package/src/lib/logger.ts +48 -0
- package/src/lib/runtime/copilot-runtime.ts +162 -2
- package/dist/chunk-DFOKBSIS.mjs +0 -1
- /package/dist/{chunk-PH24IU7T.mjs.map → chunk-D6YNY2XB.mjs.map} +0 -0
- /package/dist/{chunk-DFOKBSIS.mjs.map → chunk-PTC5JN3P.mjs.map} +0 -0
- /package/dist/{chunk-2BN7NZNC.mjs.map → chunk-QZ6X33MR.mjs.map} +0 -0
- /package/dist/{chunk-ZYFN76KV.mjs.map → chunk-RQS3BGAT.mjs.map} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-PTC5JN3P.mjs";
|
|
2
2
|
import {
|
|
3
3
|
config,
|
|
4
4
|
copilotRuntimeNextJSAppRouterEndpoint,
|
|
5
5
|
copilotRuntimeNextJSPagesRouterEndpoint
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D6YNY2XB.mjs";
|
|
7
7
|
import {
|
|
8
8
|
copilotRuntimeNestEndpoint
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-QZ6X33MR.mjs";
|
|
10
10
|
import {
|
|
11
11
|
copilotRuntimeNodeExpressEndpoint
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RQS3BGAT.mjs";
|
|
13
13
|
import {
|
|
14
14
|
CopilotRuntime,
|
|
15
15
|
addCustomHeaderPlugin,
|
|
@@ -17,11 +17,12 @@ import {
|
|
|
17
17
|
copilotKitEndpoint,
|
|
18
18
|
copilotRuntimeNodeHttpEndpoint,
|
|
19
19
|
createContext,
|
|
20
|
+
createLogger,
|
|
20
21
|
flattenToolCallsNoDuplicates,
|
|
21
22
|
getCommonConfig,
|
|
22
23
|
langGraphPlatformEndpoint,
|
|
23
24
|
resolveEndpointType
|
|
24
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-QTRO3GPV.mjs";
|
|
25
26
|
import {
|
|
26
27
|
AnthropicAdapter,
|
|
27
28
|
EmptyAdapter,
|
|
@@ -72,6 +73,7 @@ export {
|
|
|
72
73
|
copilotRuntimeNodeExpressEndpoint,
|
|
73
74
|
copilotRuntimeNodeHttpEndpoint,
|
|
74
75
|
createContext,
|
|
76
|
+
createLogger,
|
|
75
77
|
flattenToolCallsNoDuplicates,
|
|
76
78
|
getCommonConfig,
|
|
77
79
|
langGraphPlatformEndpoint,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import \"reflect-metadata\";\nexport * from \"./lib\";\nexport * from \"./utils\";\nexport * from \"./service-adapters\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import \"reflect-metadata\";\nexport * from \"./lib\";\nexport * from \"./utils\";\nexport * from \"./service-adapters\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO;","names":[]}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { i as CommonConfig, d as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, e as CreateCopilotRuntimeServerOptions, G as GraphQLContext, b as addCustomHeaderPlugin, h as buildSchema, c as copilotKitEndpoint, g as createContext, f as flattenToolCallsNoDuplicates, j as getCommonConfig, l as langGraphPlatformEndpoint, r as resolveEndpointType } from '../copilot-runtime-
|
|
1
|
+
export { i as CommonConfig, q as CopilotLoggerHooks, s as CopilotLoggingConfig, d as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, k as CopilotRuntimeLogger, e as CreateCopilotRuntimeServerOptions, G as GraphQLContext, p as LogLLMErrorData, n as LogLLMRequestData, o as LogLLMResponseData, L as LogLevel, b as addCustomHeaderPlugin, h as buildSchema, c as copilotKitEndpoint, g as createContext, m as createLogger, f as flattenToolCallsNoDuplicates, j as getCommonConfig, l as langGraphPlatformEndpoint, r as resolveEndpointType } from '../copilot-runtime-5103c7e7.js';
|
|
2
2
|
export { G as GoogleGenerativeAIAdapter, f as GroqAdapter, e as GroqAdapterParams, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams, d as UnifyAdapter, U as UnifyAdapterParams } from '../groq-adapter-fb9aa3ab.js';
|
|
3
3
|
export { CopilotRuntimeServerInstance, config, copilotRuntimeNextJSAppRouterEndpoint, copilotRuntimeNextJSPagesRouterEndpoint } from './integrations/index.js';
|
|
4
4
|
export { copilotRuntimeNodeHttpEndpoint } from './integrations/node-http/index.js';
|
package/dist/lib/index.js
CHANGED
|
@@ -44,7 +44,7 @@ var require_package = __commonJS({
|
|
|
44
44
|
publishConfig: {
|
|
45
45
|
access: "public"
|
|
46
46
|
},
|
|
47
|
-
version: "1.7.0-next.
|
|
47
|
+
version: "1.7.0-next.1",
|
|
48
48
|
sideEffects: false,
|
|
49
49
|
main: "./dist/index.js",
|
|
50
50
|
module: "./dist/index.mjs",
|
|
@@ -142,6 +142,7 @@ __export(lib_exports, {
|
|
|
142
142
|
copilotRuntimeNodeExpressEndpoint: () => copilotRuntimeNodeExpressEndpoint,
|
|
143
143
|
copilotRuntimeNodeHttpEndpoint: () => copilotRuntimeNodeHttpEndpoint,
|
|
144
144
|
createContext: () => createContext,
|
|
145
|
+
createLogger: () => createLogger,
|
|
145
146
|
flattenToolCallsNoDuplicates: () => flattenToolCallsNoDuplicates,
|
|
146
147
|
getCommonConfig: () => getCommonConfig,
|
|
147
148
|
langGraphPlatformEndpoint: () => langGraphPlatformEndpoint,
|
|
@@ -3672,6 +3673,7 @@ var CopilotRuntime = class {
|
|
|
3672
3673
|
onBeforeRequest;
|
|
3673
3674
|
onAfterRequest;
|
|
3674
3675
|
delegateAgentProcessingToServiceAdapter;
|
|
3676
|
+
logging;
|
|
3675
3677
|
constructor(params) {
|
|
3676
3678
|
var _a, _b;
|
|
3677
3679
|
if ((params == null ? void 0 : params.actions) && (params == null ? void 0 : params.remoteEndpoints)) {
|
|
@@ -3688,11 +3690,14 @@ var CopilotRuntime = class {
|
|
|
3688
3690
|
this.onBeforeRequest = (_a = params == null ? void 0 : params.middleware) == null ? void 0 : _a.onBeforeRequest;
|
|
3689
3691
|
this.onAfterRequest = (_b = params == null ? void 0 : params.middleware) == null ? void 0 : _b.onAfterRequest;
|
|
3690
3692
|
this.delegateAgentProcessingToServiceAdapter = (params == null ? void 0 : params.delegateAgentProcessingToServiceAdapter) || false;
|
|
3693
|
+
this.logging = params == null ? void 0 : params.logging;
|
|
3691
3694
|
}
|
|
3692
3695
|
async processRuntimeRequest(request) {
|
|
3693
|
-
var _a;
|
|
3696
|
+
var _a, _b, _c, _d, _e;
|
|
3694
3697
|
const { serviceAdapter, messages: rawMessages, actions: clientSideActionsInput, threadId, runId, outputMessagesPromise, graphqlContext, forwardedParameters, url, extensions, agentSession, agentStates } = request;
|
|
3695
3698
|
const eventSource = new RuntimeEventSource();
|
|
3699
|
+
const requestStartTime = Date.now();
|
|
3700
|
+
const streamedChunks = [];
|
|
3696
3701
|
try {
|
|
3697
3702
|
if (agentSession && !this.delegateAgentProcessingToServiceAdapter) {
|
|
3698
3703
|
return await this.processAgentRequest(request);
|
|
@@ -3707,6 +3712,23 @@ please use an LLM adapter instead.`
|
|
|
3707
3712
|
const messages = rawMessages.filter((message) => !message.agentStateMessage);
|
|
3708
3713
|
const inputMessages = convertGqlInputToMessages(messages);
|
|
3709
3714
|
const serverSideActions = await this.getServerSideActions(request);
|
|
3715
|
+
if ((_a = this.logging) == null ? void 0 : _a.enabled) {
|
|
3716
|
+
try {
|
|
3717
|
+
const requestData = {
|
|
3718
|
+
threadId,
|
|
3719
|
+
runId,
|
|
3720
|
+
model: forwardedParameters == null ? void 0 : forwardedParameters.model,
|
|
3721
|
+
messages: inputMessages,
|
|
3722
|
+
actions: clientSideActionsInput,
|
|
3723
|
+
forwardedParameters,
|
|
3724
|
+
timestamp: requestStartTime,
|
|
3725
|
+
provider: this.detectProvider(serviceAdapter)
|
|
3726
|
+
};
|
|
3727
|
+
await this.logging.logger.logRequest(requestData);
|
|
3728
|
+
} catch (error) {
|
|
3729
|
+
console.error("Error logging LLM request:", error);
|
|
3730
|
+
}
|
|
3731
|
+
}
|
|
3710
3732
|
const serverSideActionsInput = serverSideActions.map((action) => ({
|
|
3711
3733
|
name: action.name,
|
|
3712
3734
|
description: action.description,
|
|
@@ -3719,7 +3741,7 @@ please use an LLM adapter instead.`
|
|
|
3719
3741
|
(action) => action.available !== ActionInputAvailability.remote
|
|
3720
3742
|
)
|
|
3721
3743
|
]);
|
|
3722
|
-
await ((
|
|
3744
|
+
await ((_b = this.onBeforeRequest) == null ? void 0 : _b.call(this, {
|
|
3723
3745
|
threadId,
|
|
3724
3746
|
runId,
|
|
3725
3747
|
inputMessages,
|
|
@@ -3750,6 +3772,69 @@ please use an LLM adapter instead.`
|
|
|
3750
3772
|
});
|
|
3751
3773
|
}).catch((_error) => {
|
|
3752
3774
|
});
|
|
3775
|
+
if ((_c = this.logging) == null ? void 0 : _c.enabled) {
|
|
3776
|
+
try {
|
|
3777
|
+
outputMessagesPromise.then((outputMessages) => {
|
|
3778
|
+
var _a2;
|
|
3779
|
+
const responseData = {
|
|
3780
|
+
threadId: result.threadId,
|
|
3781
|
+
runId: result.runId,
|
|
3782
|
+
model: forwardedParameters == null ? void 0 : forwardedParameters.model,
|
|
3783
|
+
// Use collected chunks for progressive mode or outputMessages for regular mode
|
|
3784
|
+
output: this.logging.progressive ? streamedChunks : outputMessages,
|
|
3785
|
+
latency: Date.now() - requestStartTime,
|
|
3786
|
+
timestamp: Date.now(),
|
|
3787
|
+
provider: this.detectProvider(serviceAdapter),
|
|
3788
|
+
// Indicate this is the final response
|
|
3789
|
+
isFinalResponse: true
|
|
3790
|
+
};
|
|
3791
|
+
try {
|
|
3792
|
+
(_a2 = this.logging) == null ? void 0 : _a2.logger.logResponse(responseData);
|
|
3793
|
+
} catch (logError) {
|
|
3794
|
+
console.error("Error logging LLM response:", logError);
|
|
3795
|
+
}
|
|
3796
|
+
}).catch((error) => {
|
|
3797
|
+
console.error("Failed to get output messages for logging:", error);
|
|
3798
|
+
});
|
|
3799
|
+
} catch (error) {
|
|
3800
|
+
console.error("Error setting up logging for LLM response:", error);
|
|
3801
|
+
}
|
|
3802
|
+
}
|
|
3803
|
+
if (((_d = this.logging) == null ? void 0 : _d.enabled) && this.logging.progressive) {
|
|
3804
|
+
const originalStream = eventSource.stream.bind(eventSource);
|
|
3805
|
+
eventSource.stream = async (callback) => {
|
|
3806
|
+
await originalStream(async (eventStream$) => {
|
|
3807
|
+
eventStream$.subscribe({
|
|
3808
|
+
next: (event) => {
|
|
3809
|
+
if (event.type === RuntimeEventTypes.TextMessageContent) {
|
|
3810
|
+
streamedChunks.push(event.content);
|
|
3811
|
+
try {
|
|
3812
|
+
const progressiveData = {
|
|
3813
|
+
threadId: threadId || "",
|
|
3814
|
+
runId,
|
|
3815
|
+
model: forwardedParameters == null ? void 0 : forwardedParameters.model,
|
|
3816
|
+
output: event.content,
|
|
3817
|
+
latency: Date.now() - requestStartTime,
|
|
3818
|
+
timestamp: Date.now(),
|
|
3819
|
+
provider: this.detectProvider(serviceAdapter),
|
|
3820
|
+
isProgressiveChunk: true
|
|
3821
|
+
};
|
|
3822
|
+
Promise.resolve().then(() => {
|
|
3823
|
+
var _a2;
|
|
3824
|
+
(_a2 = this.logging) == null ? void 0 : _a2.logger.logResponse(progressiveData);
|
|
3825
|
+
}).catch((error) => {
|
|
3826
|
+
console.error("Error in progressive logging:", error);
|
|
3827
|
+
});
|
|
3828
|
+
} catch (error) {
|
|
3829
|
+
console.error("Error preparing progressive log data:", error);
|
|
3830
|
+
}
|
|
3831
|
+
}
|
|
3832
|
+
}
|
|
3833
|
+
});
|
|
3834
|
+
await callback(eventStream$);
|
|
3835
|
+
});
|
|
3836
|
+
};
|
|
3837
|
+
}
|
|
3753
3838
|
return {
|
|
3754
3839
|
threadId: nonEmptyThreadId,
|
|
3755
3840
|
runId: result.runId,
|
|
@@ -3762,6 +3847,22 @@ please use an LLM adapter instead.`
|
|
|
3762
3847
|
extensions: result.extensions
|
|
3763
3848
|
};
|
|
3764
3849
|
} catch (error) {
|
|
3850
|
+
if ((_e = this.logging) == null ? void 0 : _e.enabled) {
|
|
3851
|
+
try {
|
|
3852
|
+
const errorData = {
|
|
3853
|
+
threadId,
|
|
3854
|
+
runId,
|
|
3855
|
+
model: forwardedParameters == null ? void 0 : forwardedParameters.model,
|
|
3856
|
+
error: error instanceof Error ? error : String(error),
|
|
3857
|
+
timestamp: Date.now(),
|
|
3858
|
+
latency: Date.now() - requestStartTime,
|
|
3859
|
+
provider: this.detectProvider(serviceAdapter)
|
|
3860
|
+
};
|
|
3861
|
+
await this.logging.logger.logError(errorData);
|
|
3862
|
+
} catch (logError) {
|
|
3863
|
+
console.error("Error logging LLM error:", logError);
|
|
3864
|
+
}
|
|
3865
|
+
}
|
|
3765
3866
|
if (error instanceof import_shared18.CopilotKitError) {
|
|
3766
3867
|
throw error;
|
|
3767
3868
|
}
|
|
@@ -3847,7 +3948,6 @@ please use an LLM adapter instead.`
|
|
|
3847
3948
|
if (!agentWithEndpoint) {
|
|
3848
3949
|
throw new Error("Agent not found");
|
|
3849
3950
|
}
|
|
3850
|
-
const headers = createHeaders(null, graphqlContext);
|
|
3851
3951
|
if (agentWithEndpoint.endpoint.type === EndpointType.LangGraphPlatform) {
|
|
3852
3952
|
const propertyHeaders = graphqlContext.properties.authorization ? {
|
|
3853
3953
|
authorization: `Bearer ${graphqlContext.properties.authorization}`
|
|
@@ -4033,6 +4133,21 @@ please use an LLM adapter instead.`
|
|
|
4033
4133
|
...remoteActions
|
|
4034
4134
|
];
|
|
4035
4135
|
}
|
|
4136
|
+
// Add helper method to detect provider
|
|
4137
|
+
detectProvider(serviceAdapter) {
|
|
4138
|
+
const adapterName = serviceAdapter.constructor.name;
|
|
4139
|
+
if (adapterName.includes("OpenAI"))
|
|
4140
|
+
return "openai";
|
|
4141
|
+
if (adapterName.includes("Anthropic"))
|
|
4142
|
+
return "anthropic";
|
|
4143
|
+
if (adapterName.includes("Google"))
|
|
4144
|
+
return "google";
|
|
4145
|
+
if (adapterName.includes("Groq"))
|
|
4146
|
+
return "groq";
|
|
4147
|
+
if (adapterName.includes("LangChain"))
|
|
4148
|
+
return "langchain";
|
|
4149
|
+
return void 0;
|
|
4150
|
+
}
|
|
4036
4151
|
};
|
|
4037
4152
|
__name(CopilotRuntime, "CopilotRuntime");
|
|
4038
4153
|
function flattenToolCallsNoDuplicates(toolsByPriority) {
|
|
@@ -5843,6 +5958,7 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
|
|
|
5843
5958
|
copilotRuntimeNodeExpressEndpoint,
|
|
5844
5959
|
copilotRuntimeNodeHttpEndpoint,
|
|
5845
5960
|
createContext,
|
|
5961
|
+
createLogger,
|
|
5846
5962
|
flattenToolCallsNoDuplicates,
|
|
5847
5963
|
getCommonConfig,
|
|
5848
5964
|
langGraphPlatformEndpoint,
|