@copilotkit/runtime 0.37.0
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/.eslintrc.js +7 -0
- package/.turbo/turbo-build.log +70 -0
- package/CHANGELOG.md +1 -0
- package/__snapshots__/schema/schema.graphql +178 -0
- package/dist/chunk-2CCVVJDU.mjs +56 -0
- package/dist/chunk-2CCVVJDU.mjs.map +1 -0
- package/dist/chunk-4UA4RB4C.mjs +185 -0
- package/dist/chunk-4UA4RB4C.mjs.map +1 -0
- package/dist/chunk-5HGYI6EG.mjs +678 -0
- package/dist/chunk-5HGYI6EG.mjs.map +1 -0
- package/dist/chunk-7IFP53C6.mjs +169 -0
- package/dist/chunk-7IFP53C6.mjs.map +1 -0
- package/dist/chunk-BLTAUVRP.mjs +30 -0
- package/dist/chunk-BLTAUVRP.mjs.map +1 -0
- package/dist/chunk-NFCPM5AM.mjs +43 -0
- package/dist/chunk-NFCPM5AM.mjs.map +1 -0
- package/dist/chunk-XPAUPJMW.mjs +1051 -0
- package/dist/chunk-XPAUPJMW.mjs.map +1 -0
- package/dist/graphql/types/base/index.d.ts +6 -0
- package/dist/graphql/types/base/index.js +63 -0
- package/dist/graphql/types/base/index.js.map +1 -0
- package/dist/graphql/types/base/index.mjs +7 -0
- package/dist/graphql/types/base/index.mjs.map +1 -0
- package/dist/graphql/types/converted/index.d.ts +2 -0
- package/dist/graphql/types/converted/index.js +88 -0
- package/dist/graphql/types/converted/index.js.map +1 -0
- package/dist/graphql/types/converted/index.mjs +12 -0
- package/dist/graphql/types/converted/index.mjs.map +1 -0
- package/dist/index-aa091e3c.d.ts +49 -0
- package/dist/index-f0875df3.d.ts +197 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +2171 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +49 -0
- package/dist/index.mjs.map +1 -0
- package/dist/langchain-adapter-9ce103f3.d.ts +200 -0
- package/dist/langserve-fd5066ee.d.ts +96 -0
- package/dist/lib/index.d.ts +15 -0
- package/dist/lib/index.js +2170 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/index.mjs +46 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/integrations/index.d.ts +9 -0
- package/dist/lib/integrations/index.js +1024 -0
- package/dist/lib/integrations/index.js.map +1 -0
- package/dist/lib/integrations/index.mjs +24 -0
- package/dist/lib/integrations/index.mjs.map +1 -0
- package/dist/lib/integrations/node-http/index.d.ts +8 -0
- package/dist/lib/integrations/node-http/index.js +969 -0
- package/dist/lib/integrations/node-http/index.js.map +1 -0
- package/dist/lib/integrations/node-http/index.mjs +10 -0
- package/dist/lib/integrations/node-http/index.mjs.map +1 -0
- package/dist/pages-router-b6bc6c60.d.ts +30 -0
- package/dist/service-adapters/index.d.ts +11 -0
- package/dist/service-adapters/index.js +912 -0
- package/dist/service-adapters/index.js.map +1 -0
- package/dist/service-adapters/index.mjs +18 -0
- package/dist/service-adapters/index.mjs.map +1 -0
- package/jest.config.js +5 -0
- package/package.json +63 -0
- package/scripts/generate-gql-schema.ts +13 -0
- package/src/graphql/inputs/action.input.ts +13 -0
- package/src/graphql/inputs/cloud-guardrails.input.ts +19 -0
- package/src/graphql/inputs/cloud.input.ts +8 -0
- package/src/graphql/inputs/context-property.input.ts +10 -0
- package/src/graphql/inputs/custom-property.input.ts +15 -0
- package/src/graphql/inputs/frontend.input.ts +11 -0
- package/src/graphql/inputs/generate-copilot-response.input.ts +22 -0
- package/src/graphql/inputs/message.input.ts +50 -0
- package/src/graphql/resolvers/copilot.resolver.ts +147 -0
- package/src/graphql/types/base/index.ts +10 -0
- package/src/graphql/types/converted/index.ts +29 -0
- package/src/graphql/types/copilot-response.type.ts +75 -0
- package/src/graphql/types/enums.ts +22 -0
- package/src/graphql/types/guardrails-result.type.ts +20 -0
- package/src/graphql/types/message-status.type.ts +40 -0
- package/src/graphql/types/response-status.type.ts +52 -0
- package/src/index.ts +2 -0
- package/src/lib/copilot-cloud.ts +63 -0
- package/src/lib/copilot-runtime.ts +261 -0
- package/src/lib/guardrails.ts +3 -0
- package/src/lib/index.ts +7 -0
- package/src/lib/integrations/index.ts +4 -0
- package/src/lib/integrations/nextjs/app-router.ts +29 -0
- package/src/lib/integrations/nextjs/pages-router.ts +36 -0
- package/src/lib/integrations/node-http/index.ts +23 -0
- package/src/lib/integrations/shared.ts +68 -0
- package/src/service-adapters/conversion.ts +47 -0
- package/src/service-adapters/events.ts +197 -0
- package/src/service-adapters/experimental/groq/groq-adapter.ts +124 -0
- package/src/service-adapters/experimental/ollama/ollama-adapter.ts +75 -0
- package/src/service-adapters/google/google-genai-adapter.ts +149 -0
- package/src/service-adapters/google/utils.ts +94 -0
- package/src/service-adapters/index.ts +6 -0
- package/src/service-adapters/langchain/langchain-adapter.ts +82 -0
- package/src/service-adapters/langchain/langserve.ts +81 -0
- package/src/service-adapters/langchain/types.ts +14 -0
- package/src/service-adapters/langchain/utils.ts +235 -0
- package/src/service-adapters/openai/openai-adapter.ts +142 -0
- package/src/service-adapters/openai/openai-assistant-adapter.ts +260 -0
- package/src/service-adapters/openai/utils.ts +164 -0
- package/src/service-adapters/service-adapter.ts +29 -0
- package/tsconfig.json +11 -0
- package/tsup.config.ts +17 -0
- package/typedoc.json +4 -0
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
|
|
2
|
+
> @copilotkit/runtime@0.37.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/runtime
|
|
3
|
+
> tsup --clean
|
|
4
|
+
|
|
5
|
+
[34mCLI[39m Building entry: src/index.ts, src/lib/index.ts, src/service-adapters/index.ts, src/lib/integrations/index.ts, src/graphql/types/base/index.ts, src/graphql/types/converted/index.ts, src/lib/integrations/node-http/index.ts
|
|
6
|
+
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
7
|
+
[34mCLI[39m tsup v6.7.0
|
|
8
|
+
[34mCLI[39m Using tsup config: /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/runtime/tsup.config.ts
|
|
9
|
+
[34mCLI[39m Target: node14
|
|
10
|
+
[34mCLI[39m Cleaning output folder
|
|
11
|
+
[34mESM[39m Build start
|
|
12
|
+
[34mCJS[39m Build start
|
|
13
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m1.07 KB[39m
|
|
14
|
+
[32mESM[39m [1mdist/lib/index.mjs [22m[32m1.03 KB[39m
|
|
15
|
+
[32mESM[39m [1mdist/service-adapters/index.mjs [22m[32m395.00 B[39m
|
|
16
|
+
[32mESM[39m [1mdist/lib/integrations/index.mjs [22m[32m594.00 B[39m
|
|
17
|
+
[32mESM[39m [1mdist/lib/integrations/node-http/index.mjs [22m[32m273.00 B[39m
|
|
18
|
+
[32mESM[39m [1mdist/chunk-4UA4RB4C.mjs [22m[32m5.44 KB[39m
|
|
19
|
+
[32mESM[39m [1mdist/chunk-5HGYI6EG.mjs [22m[32m20.86 KB[39m
|
|
20
|
+
[32mESM[39m [1mdist/chunk-2CCVVJDU.mjs [22m[32m1.33 KB[39m
|
|
21
|
+
[32mESM[39m [1mdist/chunk-XPAUPJMW.mjs [22m[32m34.73 KB[39m
|
|
22
|
+
[32mESM[39m [1mdist/chunk-7IFP53C6.mjs [22m[32m6.49 KB[39m
|
|
23
|
+
[32mESM[39m [1mdist/chunk-BLTAUVRP.mjs [22m[32m606.00 B[39m
|
|
24
|
+
[32mESM[39m [1mdist/chunk-NFCPM5AM.mjs [22m[32m1.45 KB[39m
|
|
25
|
+
[32mESM[39m [1mdist/graphql/types/base/index.mjs [22m[32m121.00 B[39m
|
|
26
|
+
[32mESM[39m [1mdist/index.mjs.map [22m[32m185.00 B[39m
|
|
27
|
+
[32mESM[39m [1mdist/lib/index.mjs.map [22m[32m71.00 B[39m
|
|
28
|
+
[32mESM[39m [1mdist/service-adapters/index.mjs.map [22m[32m71.00 B[39m
|
|
29
|
+
[32mESM[39m [1mdist/lib/integrations/index.mjs.map [22m[32m71.00 B[39m
|
|
30
|
+
[32mESM[39m [1mdist/lib/integrations/node-http/index.mjs.map [22m[32m71.00 B[39m
|
|
31
|
+
[32mESM[39m [1mdist/chunk-4UA4RB4C.mjs.map [22m[32m15.83 KB[39m
|
|
32
|
+
[32mESM[39m [1mdist/chunk-5HGYI6EG.mjs.map [22m[32m44.55 KB[39m
|
|
33
|
+
[32mESM[39m [1mdist/chunk-2CCVVJDU.mjs.map [22m[32m2.93 KB[39m
|
|
34
|
+
[32mESM[39m [1mdist/graphql/types/converted/index.mjs [22m[32m245.00 B[39m
|
|
35
|
+
[32mESM[39m [1mdist/chunk-XPAUPJMW.mjs.map [22m[32m40.07 KB[39m
|
|
36
|
+
[32mESM[39m [1mdist/chunk-7IFP53C6.mjs.map [22m[32m12.61 KB[39m
|
|
37
|
+
[32mESM[39m [1mdist/chunk-BLTAUVRP.mjs.map [22m[32m1.18 KB[39m
|
|
38
|
+
[32mESM[39m [1mdist/chunk-NFCPM5AM.mjs.map [22m[32m644.00 B[39m
|
|
39
|
+
[32mESM[39m [1mdist/graphql/types/base/index.mjs.map [22m[32m71.00 B[39m
|
|
40
|
+
[32mESM[39m [1mdist/graphql/types/converted/index.mjs.map [22m[32m71.00 B[39m
|
|
41
|
+
[32mESM[39m ⚡️ Build success in 203ms
|
|
42
|
+
[32mCJS[39m [1mdist/index.js [22m[32m74.53 KB[39m
|
|
43
|
+
[32mCJS[39m [1mdist/lib/index.js [22m[32m74.48 KB[39m
|
|
44
|
+
[32mCJS[39m [1mdist/service-adapters/index.js [22m[32m30.87 KB[39m
|
|
45
|
+
[32mCJS[39m [1mdist/lib/integrations/index.js [22m[32m37.03 KB[39m
|
|
46
|
+
[32mCJS[39m [1mdist/graphql/types/base/index.js [22m[32m2.44 KB[39m
|
|
47
|
+
[32mCJS[39m [1mdist/graphql/types/converted/index.js [22m[32m3.04 KB[39m
|
|
48
|
+
[32mCJS[39m [1mdist/lib/integrations/node-http/index.js [22m[32m35.45 KB[39m
|
|
49
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m116.68 KB[39m
|
|
50
|
+
[32mCJS[39m [1mdist/lib/index.js.map [22m[32m117.08 KB[39m
|
|
51
|
+
[32mCJS[39m [1mdist/service-adapters/index.js.map [22m[32m59.01 KB[39m
|
|
52
|
+
[32mCJS[39m [1mdist/lib/integrations/index.js.map [22m[32m40.40 KB[39m
|
|
53
|
+
[32mCJS[39m [1mdist/graphql/types/base/index.js.map [22m[32m645.00 B[39m
|
|
54
|
+
[32mCJS[39m [1mdist/graphql/types/converted/index.js.map [22m[32m1.76 KB[39m
|
|
55
|
+
[32mCJS[39m [1mdist/lib/integrations/node-http/index.js.map [22m[32m37.37 KB[39m
|
|
56
|
+
[32mCJS[39m ⚡️ Build success in 226ms
|
|
57
|
+
[34mDTS[39m Build start
|
|
58
|
+
[32mDTS[39m ⚡️ Build success in 6715ms
|
|
59
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m1.18 KB[39m
|
|
60
|
+
[32mDTS[39m [1mdist/graphql/types/base/index.d.ts [22m[32m92.00 B[39m
|
|
61
|
+
[32mDTS[39m [1mdist/lib/index.d.ts [22m[32m1.19 KB[39m
|
|
62
|
+
[32mDTS[39m [1mdist/service-adapters/index.d.ts [22m[32m515.00 B[39m
|
|
63
|
+
[32mDTS[39m [1mdist/lib/integrations/index.d.ts [22m[32m626.00 B[39m
|
|
64
|
+
[32mDTS[39m [1mdist/lib/integrations/node-http/index.d.ts [22m[32m292.00 B[39m
|
|
65
|
+
[32mDTS[39m [1mdist/graphql/types/converted/index.d.ts [22m[32m153.00 B[39m
|
|
66
|
+
[32mDTS[39m [1mdist/index-f0875df3.d.ts [22m[32m6.99 KB[39m
|
|
67
|
+
[32mDTS[39m [1mdist/langchain-adapter-9ce103f3.d.ts [22m[32m5.87 KB[39m
|
|
68
|
+
[32mDTS[39m [1mdist/pages-router-b6bc6c60.d.ts [22m[32m1.27 KB[39m
|
|
69
|
+
[32mDTS[39m [1mdist/langserve-fd5066ee.d.ts [22m[32m3.17 KB[39m
|
|
70
|
+
[32mDTS[39m [1mdist/index-aa091e3c.d.ts [22m[32m1.33 KB[39m
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @copilotkit/runtime
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# -----------------------------------------------
|
|
2
|
+
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
|
|
3
|
+
# !!! DO NOT MODIFY THIS FILE BY YOURSELF !!!
|
|
4
|
+
# -----------------------------------------------
|
|
5
|
+
|
|
6
|
+
input ActionExecutionMessageInput {
|
|
7
|
+
arguments: String!
|
|
8
|
+
name: String!
|
|
9
|
+
scope: ActionExecutionScope!
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type ActionExecutionMessageOutput implements BaseMessageOutput {
|
|
13
|
+
arguments: [String!]!
|
|
14
|
+
createdAt: DateTimeISO!
|
|
15
|
+
id: String!
|
|
16
|
+
name: String!
|
|
17
|
+
scope: ActionExecutionScope!
|
|
18
|
+
status: MessageStatus!
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
"""The scope of the action"""
|
|
22
|
+
enum ActionExecutionScope {
|
|
23
|
+
client
|
|
24
|
+
server
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
input ActionInput {
|
|
28
|
+
description: String!
|
|
29
|
+
jsonSchema: String!
|
|
30
|
+
name: String!
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface BaseMessageOutput {
|
|
34
|
+
createdAt: DateTimeISO!
|
|
35
|
+
id: String!
|
|
36
|
+
status: MessageStatus!
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface BaseResponseStatus {
|
|
40
|
+
code: ResponseStatusCode!
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
input CloudInput {
|
|
44
|
+
guardrails: GuardrailsInput!
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
type CopilotResponse {
|
|
48
|
+
messages: [BaseMessageOutput!]!
|
|
49
|
+
runId: String
|
|
50
|
+
status: ResponseStatus!
|
|
51
|
+
threadId: String!
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
"""
|
|
55
|
+
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.This scalar is serialized to a string in ISO 8601 format and parsed from a string in ISO 8601 format.
|
|
56
|
+
"""
|
|
57
|
+
scalar DateTimeISO
|
|
58
|
+
|
|
59
|
+
type FailedMessageStatus {
|
|
60
|
+
code: MessageStatusCode!
|
|
61
|
+
reason: String!
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type FailedResponseStatus implements BaseResponseStatus {
|
|
65
|
+
code: ResponseStatusCode!
|
|
66
|
+
reason: String!
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
input FrontendInput {
|
|
70
|
+
actions: [ActionInput!]!
|
|
71
|
+
toDeprecate_fullContext: String
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
input GenerateCopilotResponseInput {
|
|
75
|
+
cloud: CloudInput
|
|
76
|
+
frontend: FrontendInput!
|
|
77
|
+
messages: [MessageInput!]!
|
|
78
|
+
runId: String
|
|
79
|
+
threadId: String
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
input GuardrailsInput {
|
|
83
|
+
inputValidationRules: [GuardrailsRuleInput!] = []
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
input GuardrailsRuleInput {
|
|
87
|
+
allowList: [String!] = []
|
|
88
|
+
denyList: [String!] = []
|
|
89
|
+
id: String!
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
"""
|
|
93
|
+
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
94
|
+
"""
|
|
95
|
+
scalar JSONObject @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
|
|
96
|
+
|
|
97
|
+
input MessageInput {
|
|
98
|
+
actionExecutionMessage: ActionExecutionMessageInput
|
|
99
|
+
createdAt: DateTimeISO!
|
|
100
|
+
id: String!
|
|
101
|
+
resultMessage: ResultMessageInput
|
|
102
|
+
textMessage: TextMessageInput
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
"""The role of the message"""
|
|
106
|
+
enum MessageRole {
|
|
107
|
+
assistant
|
|
108
|
+
system
|
|
109
|
+
user
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
union MessageStatus = FailedMessageStatus | PendingMessageStatus | SuccessMessageStatus
|
|
113
|
+
|
|
114
|
+
enum MessageStatusCode {
|
|
115
|
+
Failed
|
|
116
|
+
Pending
|
|
117
|
+
Success
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
type Mutation {
|
|
121
|
+
generateCopilotResponse(data: GenerateCopilotResponseInput!, properties: JSONObject): CopilotResponse!
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
type PendingMessageStatus {
|
|
125
|
+
code: MessageStatusCode!
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
type PendingResponseStatus implements BaseResponseStatus {
|
|
129
|
+
code: ResponseStatusCode!
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
type Query {
|
|
133
|
+
hello: String!
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
union ResponseStatus = FailedResponseStatus | PendingResponseStatus | SuccessResponseStatus
|
|
137
|
+
|
|
138
|
+
enum ResponseStatusCode {
|
|
139
|
+
Failed
|
|
140
|
+
Pending
|
|
141
|
+
Success
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
input ResultMessageInput {
|
|
145
|
+
actionExecutionId: String!
|
|
146
|
+
actionName: String!
|
|
147
|
+
result: String!
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
type ResultMessageOutput implements BaseMessageOutput {
|
|
151
|
+
actionExecutionId: String!
|
|
152
|
+
actionName: String!
|
|
153
|
+
createdAt: DateTimeISO!
|
|
154
|
+
id: String!
|
|
155
|
+
result: String!
|
|
156
|
+
status: MessageStatus!
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
type SuccessMessageStatus {
|
|
160
|
+
code: MessageStatusCode!
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
type SuccessResponseStatus implements BaseResponseStatus {
|
|
164
|
+
code: ResponseStatusCode!
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
input TextMessageInput {
|
|
168
|
+
content: String!
|
|
169
|
+
role: MessageRole!
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
type TextMessageOutput implements BaseMessageOutput {
|
|
173
|
+
content: [String!]!
|
|
174
|
+
createdAt: DateTimeISO!
|
|
175
|
+
id: String!
|
|
176
|
+
role: MessageRole!
|
|
177
|
+
status: MessageStatus!
|
|
178
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getCommonConfig
|
|
3
|
+
} from "./chunk-XPAUPJMW.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__name
|
|
6
|
+
} from "./chunk-NFCPM5AM.mjs";
|
|
7
|
+
|
|
8
|
+
// src/lib/integrations/nextjs/app-router.ts
|
|
9
|
+
import { createYoga } from "graphql-yoga";
|
|
10
|
+
function copilotRuntimeNextJSAppRouterEndpoint({ runtime, endpoint, serviceAdapter }) {
|
|
11
|
+
const commonConfig = getCommonConfig({
|
|
12
|
+
runtime,
|
|
13
|
+
serviceAdapter
|
|
14
|
+
});
|
|
15
|
+
const yoga = createYoga({
|
|
16
|
+
...commonConfig,
|
|
17
|
+
graphqlEndpoint: endpoint,
|
|
18
|
+
fetchAPI: {
|
|
19
|
+
Response: globalThis.Response
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
handleRequest: yoga,
|
|
24
|
+
GET: yoga,
|
|
25
|
+
POST: yoga,
|
|
26
|
+
OPTIONS: yoga
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
__name(copilotRuntimeNextJSAppRouterEndpoint, "copilotRuntimeNextJSAppRouterEndpoint");
|
|
30
|
+
|
|
31
|
+
// src/lib/integrations/nextjs/pages-router.ts
|
|
32
|
+
import { createYoga as createYoga2 } from "graphql-yoga";
|
|
33
|
+
var config = {
|
|
34
|
+
api: {
|
|
35
|
+
bodyParser: false
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
function copilotRuntimeNextJSPagesRouterEndpoint({ runtime, endpoint, serviceAdapter }) {
|
|
39
|
+
const commonConfig = getCommonConfig({
|
|
40
|
+
runtime,
|
|
41
|
+
serviceAdapter
|
|
42
|
+
});
|
|
43
|
+
const yoga = createYoga2({
|
|
44
|
+
...commonConfig,
|
|
45
|
+
graphqlEndpoint: endpoint
|
|
46
|
+
});
|
|
47
|
+
return yoga;
|
|
48
|
+
}
|
|
49
|
+
__name(copilotRuntimeNextJSPagesRouterEndpoint, "copilotRuntimeNextJSPagesRouterEndpoint");
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
copilotRuntimeNextJSAppRouterEndpoint,
|
|
53
|
+
config,
|
|
54
|
+
copilotRuntimeNextJSPagesRouterEndpoint
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-2CCVVJDU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/integrations/nextjs/app-router.ts","../src/lib/integrations/nextjs/pages-router.ts"],"sourcesContent":["import { createYoga } from \"graphql-yoga\";\nimport { getCommonConfig } from \"../shared\";\nimport { CopilotRuntime } from \"../../copilot-runtime\";\nimport { CopilotServiceAdapter } from \"../../../service-adapters\";\n\nexport function copilotRuntimeNextJSAppRouterEndpoint({\n runtime,\n endpoint,\n serviceAdapter,\n}: {\n runtime: CopilotRuntime;\n serviceAdapter: CopilotServiceAdapter;\n endpoint: string;\n}) {\n const commonConfig = getCommonConfig({ runtime, serviceAdapter });\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: endpoint,\n fetchAPI: { Response: globalThis.Response },\n });\n\n return {\n handleRequest: yoga,\n GET: yoga,\n POST: yoga,\n OPTIONS: yoga,\n };\n}\n","import { YogaServerInstance, createYoga } from \"graphql-yoga\";\nimport { GraphQLContext, getCommonConfig } from \"../shared\";\nimport { CopilotRuntime } from \"../../copilot-runtime\";\nimport { CopilotServiceAdapter } from \"../../../service-adapters\";\n\nexport const config = {\n api: {\n bodyParser: false,\n },\n};\n\nexport type CopilotRuntimeServerInstance<T> = YogaServerInstance<T, Partial<GraphQLContext>>;\n\n// Theis import is needed to fix the type error\n// Fix is currently in TypeScript 5.5 beta, waiting for stable version\n// https://github.com/microsoft/TypeScript/issues/42873#issuecomment-2066874644\nexport type {} from \"@whatwg-node/server\";\n\nexport function copilotRuntimeNextJSPagesRouterEndpoint({\n runtime,\n endpoint,\n serviceAdapter,\n}: {\n runtime: CopilotRuntime;\n serviceAdapter: CopilotServiceAdapter;\n endpoint: string;\n}): CopilotRuntimeServerInstance<GraphQLContext> {\n const commonConfig = getCommonConfig({ runtime, serviceAdapter });\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: endpoint,\n });\n\n return yoga;\n}\n"],"mappings":";;;;;;;;AAAA,SAASA,kBAAkB;AAKpB,SAASC,sCAAsC,EACpDC,SACAC,UACAC,eAAc,GAKf;AACC,QAAMC,eAAeC,gBAAgB;IAAEJ;IAASE;EAAe,CAAA;AAE/D,QAAMG,OAAOC,WAAW;IACtB,GAAGH;IACHI,iBAAiBN;IACjBO,UAAU;MAAEC,UAAUC,WAAWD;IAAS;EAC5C,CAAA;AAEA,SAAO;IACLE,eAAeN;IACfO,KAAKP;IACLQ,MAAMR;IACNS,SAAST;EACX;AACF;AAvBgBN;;;ACLhB,SAA6BgB,cAAAA,mBAAkB;AAKxC,IAAMC,SAAS;EACpBC,KAAK;IACHC,YAAY;EACd;AACF;AASO,SAASC,wCAAwC,EACtDC,SACAC,UACAC,eAAc,GAKf;AACC,QAAMC,eAAeC,gBAAgB;IAAEJ;IAASE;EAAe,CAAA;AAE/D,QAAMG,OAAOC,YAAW;IACtB,GAAGH;IACHI,iBAAiBN;EACnB,CAAA;AAEA,SAAOI;AACT;AAjBgBN;","names":["createYoga","copilotRuntimeNextJSAppRouterEndpoint","runtime","endpoint","serviceAdapter","commonConfig","getCommonConfig","yoga","createYoga","graphqlEndpoint","fetchAPI","Response","globalThis","handleRequest","GET","POST","OPTIONS","createYoga","config","api","bodyParser","copilotRuntimeNextJSPagesRouterEndpoint","runtime","endpoint","serviceAdapter","commonConfig","getCommonConfig","yoga","createYoga","graphqlEndpoint"]}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RemoteChain
|
|
3
|
+
} from "./chunk-5HGYI6EG.mjs";
|
|
4
|
+
import {
|
|
5
|
+
RuntimeEventSource
|
|
6
|
+
} from "./chunk-XPAUPJMW.mjs";
|
|
7
|
+
import {
|
|
8
|
+
ActionExecutionMessage,
|
|
9
|
+
ResultMessage,
|
|
10
|
+
TextMessage
|
|
11
|
+
} from "./chunk-BLTAUVRP.mjs";
|
|
12
|
+
import {
|
|
13
|
+
__name
|
|
14
|
+
} from "./chunk-NFCPM5AM.mjs";
|
|
15
|
+
|
|
16
|
+
// src/lib/copilot-runtime.ts
|
|
17
|
+
import { actionParametersToJsonSchema } from "@copilotkit/shared";
|
|
18
|
+
|
|
19
|
+
// src/lib/copilot-cloud.ts
|
|
20
|
+
import { COPILOT_CLOUD_API_URL, COPILOT_CLOUD_VERSION, COPILOT_CLOUD_PUBLIC_API_KEY_HEADER } from "@copilotkit/shared";
|
|
21
|
+
var CopilotCloud = class {
|
|
22
|
+
};
|
|
23
|
+
__name(CopilotCloud, "CopilotCloud");
|
|
24
|
+
var RemoteCopilotCloud = class extends CopilotCloud {
|
|
25
|
+
cloudApiUrl;
|
|
26
|
+
constructor(cloudApiUrl = COPILOT_CLOUD_API_URL) {
|
|
27
|
+
super();
|
|
28
|
+
this.cloudApiUrl = cloudApiUrl;
|
|
29
|
+
}
|
|
30
|
+
async checkGuardrailsInput({ cloud, publicApiKey, messages }) {
|
|
31
|
+
const url = `${this.cloudApiUrl}/${COPILOT_CLOUD_VERSION}/copilotkit/guardrails/input`;
|
|
32
|
+
const response = await fetch(url, {
|
|
33
|
+
method: "PUT",
|
|
34
|
+
headers: {
|
|
35
|
+
"Content-Type": "application/json",
|
|
36
|
+
[COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: publicApiKey
|
|
37
|
+
},
|
|
38
|
+
body: JSON.stringify({
|
|
39
|
+
messages,
|
|
40
|
+
cloud
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
let message = response.statusText;
|
|
45
|
+
try {
|
|
46
|
+
const json2 = await response.json();
|
|
47
|
+
if (json2.message) {
|
|
48
|
+
message = json2.message;
|
|
49
|
+
}
|
|
50
|
+
} catch (error) {
|
|
51
|
+
}
|
|
52
|
+
throw new Error("Failed to check input guardrails: " + message);
|
|
53
|
+
}
|
|
54
|
+
const json = await response.json();
|
|
55
|
+
return {
|
|
56
|
+
status: json.status,
|
|
57
|
+
reason: json.reason
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
__name(RemoteCopilotCloud, "RemoteCopilotCloud");
|
|
62
|
+
|
|
63
|
+
// src/service-adapters/conversion.ts
|
|
64
|
+
import { plainToInstance } from "class-transformer";
|
|
65
|
+
function convertGqlInputToMessages(inputMessages) {
|
|
66
|
+
const messages = [];
|
|
67
|
+
for (const message of inputMessages) {
|
|
68
|
+
if (message.textMessage) {
|
|
69
|
+
messages.push(plainToInstance(TextMessage, {
|
|
70
|
+
id: message.id,
|
|
71
|
+
createdAt: message.createdAt,
|
|
72
|
+
role: message.textMessage.role,
|
|
73
|
+
content: message.textMessage.content
|
|
74
|
+
}));
|
|
75
|
+
} else if (message.actionExecutionMessage) {
|
|
76
|
+
messages.push(plainToInstance(ActionExecutionMessage, {
|
|
77
|
+
id: message.id,
|
|
78
|
+
createdAt: message.createdAt,
|
|
79
|
+
name: message.actionExecutionMessage.name,
|
|
80
|
+
arguments: JSON.parse(message.actionExecutionMessage.arguments),
|
|
81
|
+
scope: message.actionExecutionMessage.scope
|
|
82
|
+
}));
|
|
83
|
+
} else if (message.resultMessage) {
|
|
84
|
+
messages.push(plainToInstance(ResultMessage, {
|
|
85
|
+
id: message.id,
|
|
86
|
+
createdAt: message.createdAt,
|
|
87
|
+
actionExecutionId: message.resultMessage.actionExecutionId,
|
|
88
|
+
actionName: message.resultMessage.actionName,
|
|
89
|
+
result: message.resultMessage.result
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return messages;
|
|
94
|
+
}
|
|
95
|
+
__name(convertGqlInputToMessages, "convertGqlInputToMessages");
|
|
96
|
+
|
|
97
|
+
// src/lib/copilot-runtime.ts
|
|
98
|
+
var CopilotRuntime = class {
|
|
99
|
+
actions = [];
|
|
100
|
+
langserve = [];
|
|
101
|
+
debug = false;
|
|
102
|
+
copilotCloud;
|
|
103
|
+
constructor(params) {
|
|
104
|
+
this.actions = (params == null ? void 0 : params.actions) || [];
|
|
105
|
+
for (const chain of (params == null ? void 0 : params.langserve) || []) {
|
|
106
|
+
const remoteChain = new RemoteChain(chain);
|
|
107
|
+
this.langserve.push(remoteChain.toAction());
|
|
108
|
+
}
|
|
109
|
+
this.debug = (params == null ? void 0 : params.debug) || false;
|
|
110
|
+
this.copilotCloud = (params == null ? void 0 : params.copilotCloud) || new RemoteCopilotCloud();
|
|
111
|
+
}
|
|
112
|
+
addAction(action) {
|
|
113
|
+
this.removeAction(action.name);
|
|
114
|
+
this.actions.push(action);
|
|
115
|
+
}
|
|
116
|
+
removeAction(actionName) {
|
|
117
|
+
this.actions = this.actions.filter((f) => f.name !== actionName);
|
|
118
|
+
}
|
|
119
|
+
async process({ serviceAdapter, messages, actions: clientSideActionsInput, threadId, runId, publicApiKey }) {
|
|
120
|
+
const langserveFunctions = [];
|
|
121
|
+
for (const chainPromise of this.langserve) {
|
|
122
|
+
try {
|
|
123
|
+
const chain = await chainPromise;
|
|
124
|
+
langserveFunctions.push(chain);
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error("Error loading langserve chain:", error);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const serverSideActionsInput = [
|
|
130
|
+
...this.actions,
|
|
131
|
+
...langserveFunctions
|
|
132
|
+
].map((action) => ({
|
|
133
|
+
name: action.name,
|
|
134
|
+
description: action.description,
|
|
135
|
+
jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters))
|
|
136
|
+
}));
|
|
137
|
+
const actions = flattenToolCallsNoDuplicates([
|
|
138
|
+
...serverSideActionsInput,
|
|
139
|
+
...clientSideActionsInput
|
|
140
|
+
]);
|
|
141
|
+
try {
|
|
142
|
+
const eventSource = new RuntimeEventSource();
|
|
143
|
+
const result = await serviceAdapter.process({
|
|
144
|
+
messages: convertGqlInputToMessages(messages),
|
|
145
|
+
actions,
|
|
146
|
+
threadId,
|
|
147
|
+
runId,
|
|
148
|
+
eventSource
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
threadId: result.threadId,
|
|
152
|
+
runId: result.runId,
|
|
153
|
+
eventSource
|
|
154
|
+
};
|
|
155
|
+
} catch (error) {
|
|
156
|
+
console.error("Error getting response:", error);
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
__name(CopilotRuntime, "CopilotRuntime");
|
|
162
|
+
function flattenToolCallsNoDuplicates(toolsByPriority) {
|
|
163
|
+
let allTools = [];
|
|
164
|
+
const allToolNames = [];
|
|
165
|
+
for (const tool of toolsByPriority) {
|
|
166
|
+
if (!allToolNames.includes(tool.name)) {
|
|
167
|
+
allTools.push(tool);
|
|
168
|
+
allToolNames.push(tool.name);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return allTools;
|
|
172
|
+
}
|
|
173
|
+
__name(flattenToolCallsNoDuplicates, "flattenToolCallsNoDuplicates");
|
|
174
|
+
var CopilotBackend = class extends CopilotRuntime {
|
|
175
|
+
};
|
|
176
|
+
__name(CopilotBackend, "CopilotBackend");
|
|
177
|
+
|
|
178
|
+
export {
|
|
179
|
+
CopilotCloud,
|
|
180
|
+
RemoteCopilotCloud,
|
|
181
|
+
CopilotRuntime,
|
|
182
|
+
flattenToolCallsNoDuplicates,
|
|
183
|
+
CopilotBackend
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=chunk-4UA4RB4C.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/copilot-runtime.ts","../src/lib/copilot-cloud.ts","../src/service-adapters/conversion.ts"],"sourcesContent":["/**\n * Handles requests from frontend, provides function calling and various LLM backends.\n *\n * <img\n * referrerPolicy=\"no-referrer-when-downgrade\"\n * src=\"https://static.scarf.sh/a.png?x-pxid=a9b290bb-38f9-4518-ac3b-8f54fdbf43be\"\n * />\n *\n * <RequestExample>\n * ```jsx CopilotRuntime Example\n * import {\n * CopilotRuntime,\n * OpenAIAdapter\n * } from \"@copilotkit/runtime\";\n *\n * export async function POST(req: Request) {\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(req, new OpenAIAdapter());\n * }\n *\n * ```\n * </RequestExample>\n *\n * This class is the main entry point for the runtime. It handles requests from the frontend, provides function calling and various LLM backends.\n *\n * For example, to use OpenAI as a backend (check the [OpenAI Adapter](./OpenAIAdapter) docs for more info):\n * ```typescript\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(req, new OpenAIAdapter());\n * ```\n *\n * Currently we support:\n *\n * - [OpenAI](./OpenAIAdapter)\n * - [LangChain](./LangChainAdapter)\n * - [OpenAI Assistant API](./OpenAIAssistantAdapter)\n * - [Google Gemini](./GoogleGenerativeAIAdapter)\n *\n * ## Server Side Actions\n *\n * CopilotKit supports actions that can be executed on the server side. You can define server side actions by passing the `actions` parameter:\n *\n * ```typescript\n * const copilotKit = new CopilotRuntime({\n * actions: [\n * {\n * name: \"sayHello\",\n * description: \"Says hello to someone.\",\n * argumentAnnotations: [\n * {\n * name: \"arg\",\n * type: \"string\",\n * description: \"The name of the person to say hello to.\",\n * required: true,\n * },\n * ],\n * implementation: async (arg) => {\n * console.log(\"Hello from the server\", arg, \"!\");\n * },\n * },\n * ],\n * });\n * ```\n *\n * Server side actions can also return a result which becomes part of the message history.\n *\n * This is useful because it gives the LLM context about what happened on the server side. In addition,\n * it can be used to look up information from a vector or relational database and other sources.\n *\n * In addition to that, server side actions can also come from LangChain, including support for streaming responses.\n *\n * Returned results can be of the following type:\n *\n * - anything serializable to JSON\n * - `string`\n * - LangChain types:\n * - `IterableReadableStream`\n * - `BaseMessageChunk`\n * - `AIMessage`\n *\n * ## LangServe\n *\n * The backend also supports LangServe, enabling you to connect to existing chains, for example python based chains.\n * Use the `langserve` parameter to specify URLs for LangServe.\n *\n * ```typescript\n * const copilotKit = new CopilotRuntime({\n * langserve: [\n * {\n * chainUrl: \"http://my-langserve.chain\",\n * name: \"performResearch\",\n * description: \"Performs research on a given topic.\",\n * },\n * ],\n * });\n * ```\n *\n * When left out, arguments are automatically inferred from the schema provided by LangServe.\n */\n\nimport { Action, actionParametersToJsonSchema, Parameter } from \"@copilotkit/shared\";\nimport { RemoteChain, CopilotServiceAdapter } from \"../service-adapters\";\nimport { CopilotCloud, RemoteCopilotCloud } from \"./copilot-cloud\";\nimport { MessageInput } from \"../graphql/inputs/message.input\";\nimport { ActionInput } from \"../graphql/inputs/action.input\";\nimport { RuntimeEventSource } from \"../service-adapters/events\";\nimport { convertGqlInputToMessages } from \"../service-adapters/conversion\";\n\ninterface CopilotRuntimeRequest {\n serviceAdapter: CopilotServiceAdapter;\n messages: MessageInput[];\n actions: ActionInput[];\n threadId?: string;\n runId?: string;\n publicApiKey?: string;\n}\n\ninterface CopilotRuntimeResponse {\n threadId?: string;\n runId?: string;\n eventSource: RuntimeEventSource;\n}\n\nexport interface CopilotRuntimeConstructorParams<T extends Parameter[] | [] = []> {\n /*\n * A list of server side actions that can be executed.\n */\n actions?: Action<T>[];\n\n /*\n * An array of LangServer URLs.\n */\n langserve?: RemoteChain[];\n\n debug?: boolean;\n copilotCloud?: CopilotCloud;\n}\n\nexport class CopilotRuntime<const T extends Parameter[] | [] = []> {\n public actions: Action<any>[] = [];\n private langserve: Promise<Action<any>>[] = [];\n private debug: boolean = false;\n private copilotCloud: CopilotCloud;\n\n constructor(params?: CopilotRuntimeConstructorParams<T>) {\n this.actions = params?.actions || [];\n\n for (const chain of params?.langserve || []) {\n const remoteChain = new RemoteChain(chain);\n this.langserve.push(remoteChain.toAction());\n }\n this.debug = params?.debug || false;\n this.copilotCloud = params?.copilotCloud || new RemoteCopilotCloud();\n }\n\n addAction<const T extends Parameter[] | [] = []>(action: Action<T>): void {\n this.removeAction(action.name);\n this.actions.push(action);\n }\n\n removeAction(actionName: string): void {\n this.actions = this.actions.filter((f) => f.name !== actionName);\n }\n\n async process({\n serviceAdapter,\n messages,\n actions: clientSideActionsInput,\n threadId,\n runId,\n publicApiKey,\n }: CopilotRuntimeRequest): Promise<CopilotRuntimeResponse> {\n // TODO-PROTOCOL: cloud configuration\n // const cloud: CopilotCloudConfig = forwardedProps.cloud;\n\n const langserveFunctions: Action<any>[] = [];\n\n for (const chainPromise of this.langserve) {\n try {\n const chain = await chainPromise;\n langserveFunctions.push(chain);\n } catch (error) {\n console.error(\"Error loading langserve chain:\", error);\n }\n }\n\n const serverSideActionsInput: ActionInput[] = [...this.actions, ...langserveFunctions].map(\n (action) => ({\n name: action.name,\n description: action.description,\n jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters)),\n }),\n );\n\n const actions = flattenToolCallsNoDuplicates([\n ...serverSideActionsInput,\n ...clientSideActionsInput,\n ]);\n\n try {\n const eventSource = new RuntimeEventSource();\n // TODO-PROTOCOL: type this and support function calls\n const result = await serviceAdapter.process({\n messages: convertGqlInputToMessages(messages),\n actions,\n threadId,\n runId,\n eventSource,\n });\n\n // TODO-PROTOCOL add guardrails\n //\n // if (publicApiKey !== undefined) {\n // // wait for the cloud log chat to finish before streaming back the response\n // try {\n // const checkGuardrailsInputResult = await this.copilotCloud.checkGuardrailsInput({\n // cloud,\n // publicApiKey,\n // messages: forwardedProps.messages || [],\n // });\n\n // if (checkGuardrailsInputResult.status === \"denied\") {\n // // the chat was denied. instead of streaming back the response,\n // // we let the client know...\n // return {\n // stream: new SingleChunkReadableStream(checkGuardrailsInputResult.reason),\n // // headers: result.headers,\n // };\n // }\n // } catch (error) {\n // console.error(\"Error checking guardrails:\", error);\n // }\n // }\n return {\n threadId: result.threadId,\n runId: result.runId,\n eventSource,\n };\n } catch (error) {\n console.error(\"Error getting response:\", error);\n throw error;\n }\n }\n}\n\nexport function flattenToolCallsNoDuplicates(toolsByPriority: ActionInput[]): ActionInput[] {\n let allTools: ActionInput[] = [];\n const allToolNames: string[] = [];\n for (const tool of toolsByPriority) {\n if (!allToolNames.includes(tool.name)) {\n allTools.push(tool);\n allToolNames.push(tool.name);\n }\n }\n return allTools;\n}\n\n/**\n * @deprecated use CopilotRuntime instead\n */\nexport class CopilotBackend extends CopilotRuntime {}\n","import {\n COPILOT_CLOUD_API_URL,\n COPILOT_CLOUD_VERSION,\n COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,\n CopilotCloudConfig,\n} from \"@copilotkit/shared\";\n\nexport interface CloudCheckGuardrailsInputParams {\n cloud: CopilotCloudConfig;\n publicApiKey: string;\n // TODO-PROTOCOL: switch to graphql\n messages: any[];\n}\n\nexport interface CloudCheckGuardrailsInputResponse {\n status: \"allowed\" | \"denied\";\n reason: string;\n}\n\nexport abstract class CopilotCloud {\n abstract checkGuardrailsInput(\n params: CloudCheckGuardrailsInputParams,\n ): Promise<CloudCheckGuardrailsInputResponse>;\n}\n\nexport class RemoteCopilotCloud extends CopilotCloud {\n constructor(private readonly cloudApiUrl: string = COPILOT_CLOUD_API_URL) {\n super();\n }\n\n async checkGuardrailsInput({\n cloud,\n publicApiKey,\n messages,\n }: CloudCheckGuardrailsInputParams): Promise<CloudCheckGuardrailsInputResponse> {\n const url = `${this.cloudApiUrl}/${COPILOT_CLOUD_VERSION}/copilotkit/guardrails/input`;\n\n const response = await fetch(url, {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: publicApiKey,\n },\n body: JSON.stringify({ messages, cloud }),\n });\n\n if (!response.ok) {\n let message = response.statusText;\n\n // try to parse the response body for a more detailed error message\n try {\n const json = await response.json();\n if (json.message) {\n message = json.message;\n }\n } catch (error) {}\n\n throw new Error(\"Failed to check input guardrails: \" + message);\n }\n const json = await response.json();\n return { status: json.status, reason: json.reason };\n }\n}\n","import {\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n} from \"../graphql/types/converted\";\nimport { MessageInput } from \"../graphql/inputs/message.input\";\nimport { plainToInstance } from \"class-transformer\";\n\nexport function convertGqlInputToMessages(inputMessages: MessageInput[]): Message[] {\n const messages: Message[] = [];\n\n for (const message of inputMessages) {\n if (message.textMessage) {\n messages.push(\n plainToInstance(TextMessage, {\n id: message.id,\n createdAt: message.createdAt,\n role: message.textMessage.role,\n content: message.textMessage.content,\n }),\n );\n } else if (message.actionExecutionMessage) {\n messages.push(\n plainToInstance(ActionExecutionMessage, {\n id: message.id,\n createdAt: message.createdAt,\n name: message.actionExecutionMessage.name,\n arguments: JSON.parse(message.actionExecutionMessage.arguments),\n scope: message.actionExecutionMessage.scope,\n }),\n );\n } else if (message.resultMessage) {\n messages.push(\n plainToInstance(ResultMessage, {\n id: message.id,\n createdAt: message.createdAt,\n actionExecutionId: message.resultMessage.actionExecutionId,\n actionName: message.resultMessage.actionName,\n result: message.resultMessage.result,\n }),\n );\n }\n }\n\n return messages;\n}\n"],"mappings":"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","names":["actionParametersToJsonSchema","COPILOT_CLOUD_API_URL","COPILOT_CLOUD_VERSION","COPILOT_CLOUD_PUBLIC_API_KEY_HEADER","CopilotCloud","RemoteCopilotCloud","constructor","cloudApiUrl","COPILOT_CLOUD_API_URL","checkGuardrailsInput","cloud","publicApiKey","messages","url","COPILOT_CLOUD_VERSION","response","fetch","method","headers","COPILOT_CLOUD_PUBLIC_API_KEY_HEADER","body","JSON","stringify","ok","message","statusText","json","error","Error","status","reason","plainToInstance","convertGqlInputToMessages","inputMessages","messages","message","textMessage","push","plainToInstance","TextMessage","id","createdAt","role","content","actionExecutionMessage","ActionExecutionMessage","name","arguments","JSON","parse","scope","resultMessage","ResultMessage","actionExecutionId","actionName","result","CopilotRuntime","actions","langserve","debug","copilotCloud","constructor","params","chain","remoteChain","RemoteChain","push","toAction","RemoteCopilotCloud","addAction","action","removeAction","name","actionName","filter","f","process","serviceAdapter","messages","clientSideActionsInput","threadId","runId","publicApiKey","langserveFunctions","chainPromise","error","console","serverSideActionsInput","map","description","jsonSchema","JSON","stringify","actionParametersToJsonSchema","parameters","flattenToolCallsNoDuplicates","eventSource","RuntimeEventSource","result","convertGqlInputToMessages","toolsByPriority","allTools","allToolNames","tool","includes","CopilotBackend"]}
|