@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.
Files changed (105) hide show
  1. package/.eslintrc.js +7 -0
  2. package/.turbo/turbo-build.log +70 -0
  3. package/CHANGELOG.md +1 -0
  4. package/__snapshots__/schema/schema.graphql +178 -0
  5. package/dist/chunk-2CCVVJDU.mjs +56 -0
  6. package/dist/chunk-2CCVVJDU.mjs.map +1 -0
  7. package/dist/chunk-4UA4RB4C.mjs +185 -0
  8. package/dist/chunk-4UA4RB4C.mjs.map +1 -0
  9. package/dist/chunk-5HGYI6EG.mjs +678 -0
  10. package/dist/chunk-5HGYI6EG.mjs.map +1 -0
  11. package/dist/chunk-7IFP53C6.mjs +169 -0
  12. package/dist/chunk-7IFP53C6.mjs.map +1 -0
  13. package/dist/chunk-BLTAUVRP.mjs +30 -0
  14. package/dist/chunk-BLTAUVRP.mjs.map +1 -0
  15. package/dist/chunk-NFCPM5AM.mjs +43 -0
  16. package/dist/chunk-NFCPM5AM.mjs.map +1 -0
  17. package/dist/chunk-XPAUPJMW.mjs +1051 -0
  18. package/dist/chunk-XPAUPJMW.mjs.map +1 -0
  19. package/dist/graphql/types/base/index.d.ts +6 -0
  20. package/dist/graphql/types/base/index.js +63 -0
  21. package/dist/graphql/types/base/index.js.map +1 -0
  22. package/dist/graphql/types/base/index.mjs +7 -0
  23. package/dist/graphql/types/base/index.mjs.map +1 -0
  24. package/dist/graphql/types/converted/index.d.ts +2 -0
  25. package/dist/graphql/types/converted/index.js +88 -0
  26. package/dist/graphql/types/converted/index.js.map +1 -0
  27. package/dist/graphql/types/converted/index.mjs +12 -0
  28. package/dist/graphql/types/converted/index.mjs.map +1 -0
  29. package/dist/index-aa091e3c.d.ts +49 -0
  30. package/dist/index-f0875df3.d.ts +197 -0
  31. package/dist/index.d.ts +15 -0
  32. package/dist/index.js +2171 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/index.mjs +49 -0
  35. package/dist/index.mjs.map +1 -0
  36. package/dist/langchain-adapter-9ce103f3.d.ts +200 -0
  37. package/dist/langserve-fd5066ee.d.ts +96 -0
  38. package/dist/lib/index.d.ts +15 -0
  39. package/dist/lib/index.js +2170 -0
  40. package/dist/lib/index.js.map +1 -0
  41. package/dist/lib/index.mjs +46 -0
  42. package/dist/lib/index.mjs.map +1 -0
  43. package/dist/lib/integrations/index.d.ts +9 -0
  44. package/dist/lib/integrations/index.js +1024 -0
  45. package/dist/lib/integrations/index.js.map +1 -0
  46. package/dist/lib/integrations/index.mjs +24 -0
  47. package/dist/lib/integrations/index.mjs.map +1 -0
  48. package/dist/lib/integrations/node-http/index.d.ts +8 -0
  49. package/dist/lib/integrations/node-http/index.js +969 -0
  50. package/dist/lib/integrations/node-http/index.js.map +1 -0
  51. package/dist/lib/integrations/node-http/index.mjs +10 -0
  52. package/dist/lib/integrations/node-http/index.mjs.map +1 -0
  53. package/dist/pages-router-b6bc6c60.d.ts +30 -0
  54. package/dist/service-adapters/index.d.ts +11 -0
  55. package/dist/service-adapters/index.js +912 -0
  56. package/dist/service-adapters/index.js.map +1 -0
  57. package/dist/service-adapters/index.mjs +18 -0
  58. package/dist/service-adapters/index.mjs.map +1 -0
  59. package/jest.config.js +5 -0
  60. package/package.json +63 -0
  61. package/scripts/generate-gql-schema.ts +13 -0
  62. package/src/graphql/inputs/action.input.ts +13 -0
  63. package/src/graphql/inputs/cloud-guardrails.input.ts +19 -0
  64. package/src/graphql/inputs/cloud.input.ts +8 -0
  65. package/src/graphql/inputs/context-property.input.ts +10 -0
  66. package/src/graphql/inputs/custom-property.input.ts +15 -0
  67. package/src/graphql/inputs/frontend.input.ts +11 -0
  68. package/src/graphql/inputs/generate-copilot-response.input.ts +22 -0
  69. package/src/graphql/inputs/message.input.ts +50 -0
  70. package/src/graphql/resolvers/copilot.resolver.ts +147 -0
  71. package/src/graphql/types/base/index.ts +10 -0
  72. package/src/graphql/types/converted/index.ts +29 -0
  73. package/src/graphql/types/copilot-response.type.ts +75 -0
  74. package/src/graphql/types/enums.ts +22 -0
  75. package/src/graphql/types/guardrails-result.type.ts +20 -0
  76. package/src/graphql/types/message-status.type.ts +40 -0
  77. package/src/graphql/types/response-status.type.ts +52 -0
  78. package/src/index.ts +2 -0
  79. package/src/lib/copilot-cloud.ts +63 -0
  80. package/src/lib/copilot-runtime.ts +261 -0
  81. package/src/lib/guardrails.ts +3 -0
  82. package/src/lib/index.ts +7 -0
  83. package/src/lib/integrations/index.ts +4 -0
  84. package/src/lib/integrations/nextjs/app-router.ts +29 -0
  85. package/src/lib/integrations/nextjs/pages-router.ts +36 -0
  86. package/src/lib/integrations/node-http/index.ts +23 -0
  87. package/src/lib/integrations/shared.ts +68 -0
  88. package/src/service-adapters/conversion.ts +47 -0
  89. package/src/service-adapters/events.ts +197 -0
  90. package/src/service-adapters/experimental/groq/groq-adapter.ts +124 -0
  91. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +75 -0
  92. package/src/service-adapters/google/google-genai-adapter.ts +149 -0
  93. package/src/service-adapters/google/utils.ts +94 -0
  94. package/src/service-adapters/index.ts +6 -0
  95. package/src/service-adapters/langchain/langchain-adapter.ts +82 -0
  96. package/src/service-adapters/langchain/langserve.ts +81 -0
  97. package/src/service-adapters/langchain/types.ts +14 -0
  98. package/src/service-adapters/langchain/utils.ts +235 -0
  99. package/src/service-adapters/openai/openai-adapter.ts +142 -0
  100. package/src/service-adapters/openai/openai-assistant-adapter.ts +260 -0
  101. package/src/service-adapters/openai/utils.ts +164 -0
  102. package/src/service-adapters/service-adapter.ts +29 -0
  103. package/tsconfig.json +11 -0
  104. package/tsup.config.ts +17 -0
  105. package/typedoc.json +4 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ rules: {
3
+ 'react-hooks/rules-of-hooks': 'off', // Disables React hooks rules
4
+ 'react-hooks/exhaustive-deps': 'off', // Disables checking of dependency arrays
5
+ 'turbo/no-undeclared-env-vars': 'off'
6
+ }
7
+ };
@@ -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
+ CLI 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
+ CLI Using tsconfig: tsconfig.json
7
+ CLI tsup v6.7.0
8
+ CLI Using tsup config: /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/runtime/tsup.config.ts
9
+ CLI Target: node14
10
+ CLI Cleaning output folder
11
+ ESM Build start
12
+ CJS Build start
13
+ ESM dist/index.mjs 1.07 KB
14
+ ESM dist/lib/index.mjs 1.03 KB
15
+ ESM dist/service-adapters/index.mjs 395.00 B
16
+ ESM dist/lib/integrations/index.mjs 594.00 B
17
+ ESM dist/lib/integrations/node-http/index.mjs 273.00 B
18
+ ESM dist/chunk-4UA4RB4C.mjs 5.44 KB
19
+ ESM dist/chunk-5HGYI6EG.mjs 20.86 KB
20
+ ESM dist/chunk-2CCVVJDU.mjs 1.33 KB
21
+ ESM dist/chunk-XPAUPJMW.mjs 34.73 KB
22
+ ESM dist/chunk-7IFP53C6.mjs 6.49 KB
23
+ ESM dist/chunk-BLTAUVRP.mjs 606.00 B
24
+ ESM dist/chunk-NFCPM5AM.mjs 1.45 KB
25
+ ESM dist/graphql/types/base/index.mjs 121.00 B
26
+ ESM dist/index.mjs.map 185.00 B
27
+ ESM dist/lib/index.mjs.map 71.00 B
28
+ ESM dist/service-adapters/index.mjs.map 71.00 B
29
+ ESM dist/lib/integrations/index.mjs.map 71.00 B
30
+ ESM dist/lib/integrations/node-http/index.mjs.map 71.00 B
31
+ ESM dist/chunk-4UA4RB4C.mjs.map 15.83 KB
32
+ ESM dist/chunk-5HGYI6EG.mjs.map 44.55 KB
33
+ ESM dist/chunk-2CCVVJDU.mjs.map 2.93 KB
34
+ ESM dist/graphql/types/converted/index.mjs 245.00 B
35
+ ESM dist/chunk-XPAUPJMW.mjs.map 40.07 KB
36
+ ESM dist/chunk-7IFP53C6.mjs.map 12.61 KB
37
+ ESM dist/chunk-BLTAUVRP.mjs.map 1.18 KB
38
+ ESM dist/chunk-NFCPM5AM.mjs.map 644.00 B
39
+ ESM dist/graphql/types/base/index.mjs.map 71.00 B
40
+ ESM dist/graphql/types/converted/index.mjs.map 71.00 B
41
+ ESM ⚡️ Build success in 203ms
42
+ CJS dist/index.js 74.53 KB
43
+ CJS dist/lib/index.js 74.48 KB
44
+ CJS dist/service-adapters/index.js 30.87 KB
45
+ CJS dist/lib/integrations/index.js 37.03 KB
46
+ CJS dist/graphql/types/base/index.js 2.44 KB
47
+ CJS dist/graphql/types/converted/index.js 3.04 KB
48
+ CJS dist/lib/integrations/node-http/index.js 35.45 KB
49
+ CJS dist/index.js.map 116.68 KB
50
+ CJS dist/lib/index.js.map 117.08 KB
51
+ CJS dist/service-adapters/index.js.map 59.01 KB
52
+ CJS dist/lib/integrations/index.js.map 40.40 KB
53
+ CJS dist/graphql/types/base/index.js.map 645.00 B
54
+ CJS dist/graphql/types/converted/index.js.map 1.76 KB
55
+ CJS dist/lib/integrations/node-http/index.js.map 37.37 KB
56
+ CJS ⚡️ Build success in 226ms
57
+ DTS Build start
58
+ DTS ⚡️ Build success in 6715ms
59
+ DTS dist/index.d.ts 1.18 KB
60
+ DTS dist/graphql/types/base/index.d.ts 92.00 B
61
+ DTS dist/lib/index.d.ts 1.19 KB
62
+ DTS dist/service-adapters/index.d.ts 515.00 B
63
+ DTS dist/lib/integrations/index.d.ts 626.00 B
64
+ DTS dist/lib/integrations/node-http/index.d.ts 292.00 B
65
+ DTS dist/graphql/types/converted/index.d.ts 153.00 B
66
+ DTS dist/index-f0875df3.d.ts 6.99 KB
67
+ DTS dist/langchain-adapter-9ce103f3.d.ts 5.87 KB
68
+ DTS dist/pages-router-b6bc6c60.d.ts 1.27 KB
69
+ DTS dist/langserve-fd5066ee.d.ts 3.17 KB
70
+ DTS dist/index-aa091e3c.d.ts 1.33 KB
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"]}