@copilotkit/shared 1.51.4 → 1.51.5-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.
Files changed (256) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  3. package/dist/constants/index.cjs +13 -0
  4. package/dist/constants/index.cjs.map +1 -0
  5. package/dist/constants/{index.d.ts → index.d.cts} +3 -1
  6. package/dist/constants/index.d.cts.map +1 -0
  7. package/dist/constants/index.d.mts +8 -0
  8. package/dist/constants/index.d.mts.map +1 -0
  9. package/dist/constants/index.mjs +8 -12
  10. package/dist/constants/index.mjs.map +1 -1
  11. package/dist/index.cjs +64 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.d.cts +22 -0
  14. package/dist/index.d.cts.map +1 -0
  15. package/dist/index.d.mts +23 -0
  16. package/dist/index.d.mts.map +1 -0
  17. package/dist/index.mjs +16 -123
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/index.umd.js +1017 -2
  20. package/dist/index.umd.js.map +1 -1
  21. package/dist/package.cjs +12 -0
  22. package/dist/package.cjs.map +1 -0
  23. package/dist/package.mjs +6 -0
  24. package/dist/package.mjs.map +1 -0
  25. package/dist/telemetry/events.d.cts +47 -0
  26. package/dist/telemetry/events.d.cts.map +1 -0
  27. package/dist/telemetry/events.d.mts +47 -0
  28. package/dist/telemetry/events.d.mts.map +1 -0
  29. package/dist/telemetry/index.d.mts +1 -0
  30. package/dist/telemetry/scarf-client.cjs +29 -0
  31. package/dist/telemetry/scarf-client.cjs.map +1 -0
  32. package/dist/telemetry/scarf-client.mjs +27 -5
  33. package/dist/telemetry/scarf-client.mjs.map +1 -1
  34. package/dist/telemetry/telemetry-client.cjs +87 -0
  35. package/dist/telemetry/telemetry-client.cjs.map +1 -0
  36. package/dist/telemetry/telemetry-client.d.cts +48 -0
  37. package/dist/telemetry/telemetry-client.d.cts.map +1 -0
  38. package/dist/telemetry/telemetry-client.d.mts +48 -0
  39. package/dist/telemetry/telemetry-client.d.mts.map +1 -0
  40. package/dist/telemetry/telemetry-client.mjs +83 -9
  41. package/dist/telemetry/telemetry-client.mjs.map +1 -1
  42. package/dist/telemetry/utils.cjs +16 -0
  43. package/dist/telemetry/utils.cjs.map +1 -0
  44. package/dist/telemetry/utils.mjs +14 -8
  45. package/dist/telemetry/utils.mjs.map +1 -1
  46. package/dist/types/{action.d.ts → action.d.cts} +32 -32
  47. package/dist/types/action.d.cts.map +1 -0
  48. package/dist/types/action.d.mts +59 -0
  49. package/dist/types/action.d.mts.map +1 -0
  50. package/dist/types/copilot-cloud-config.d.cts +15 -0
  51. package/dist/types/copilot-cloud-config.d.cts.map +1 -0
  52. package/dist/types/copilot-cloud-config.d.mts +15 -0
  53. package/dist/types/copilot-cloud-config.d.mts.map +1 -0
  54. package/dist/types/error.d.cts +57 -0
  55. package/dist/types/error.d.cts.map +1 -0
  56. package/dist/types/error.d.mts +57 -0
  57. package/dist/types/error.d.mts.map +1 -0
  58. package/dist/types/message.d.cts +31 -0
  59. package/dist/types/message.d.cts.map +1 -0
  60. package/dist/types/message.d.mts +31 -0
  61. package/dist/types/message.d.mts.map +1 -0
  62. package/dist/types/openai-assistant.d.cts +55 -0
  63. package/dist/types/openai-assistant.d.cts.map +1 -0
  64. package/dist/types/openai-assistant.d.mts +55 -0
  65. package/dist/types/openai-assistant.d.mts.map +1 -0
  66. package/dist/types/utility.d.cts +6 -0
  67. package/dist/types/utility.d.cts.map +1 -0
  68. package/dist/types/utility.d.mts +6 -0
  69. package/dist/types/utility.d.mts.map +1 -0
  70. package/dist/utils/conditions.cjs +32 -0
  71. package/dist/utils/conditions.cjs.map +1 -0
  72. package/dist/utils/{conditions.d.ts → conditions.d.cts} +16 -11
  73. package/dist/utils/conditions.d.cts.map +1 -0
  74. package/dist/utils/conditions.d.mts +31 -0
  75. package/dist/utils/conditions.d.mts.map +1 -0
  76. package/dist/utils/conditions.mjs +30 -6
  77. package/dist/utils/conditions.mjs.map +1 -1
  78. package/dist/utils/console-styling.cjs +91 -0
  79. package/dist/utils/console-styling.cjs.map +1 -0
  80. package/dist/utils/console-styling.d.cts +65 -0
  81. package/dist/utils/console-styling.d.cts.map +1 -0
  82. package/dist/utils/console-styling.d.mts +65 -0
  83. package/dist/utils/console-styling.d.mts.map +1 -0
  84. package/dist/utils/console-styling.mjs +83 -15
  85. package/dist/utils/console-styling.mjs.map +1 -1
  86. package/dist/utils/errors.cjs +439 -0
  87. package/dist/utils/errors.cjs.map +1 -0
  88. package/dist/utils/{errors.d.ts → errors.d.cts} +188 -156
  89. package/dist/utils/errors.d.cts.map +1 -0
  90. package/dist/utils/errors.d.mts +312 -0
  91. package/dist/utils/errors.d.mts.map +1 -0
  92. package/dist/utils/errors.mjs +416 -63
  93. package/dist/utils/errors.mjs.map +1 -1
  94. package/dist/utils/index.cjs +50 -0
  95. package/dist/utils/index.cjs.map +1 -0
  96. package/dist/utils/{index.d.ts → index.d.cts} +10 -11
  97. package/dist/utils/index.d.cts.map +1 -0
  98. package/dist/utils/index.d.mts +31 -0
  99. package/dist/utils/index.d.mts.map +1 -0
  100. package/dist/utils/index.mjs +47 -107
  101. package/dist/utils/index.mjs.map +1 -1
  102. package/dist/utils/json-schema.cjs +157 -0
  103. package/dist/utils/json-schema.cjs.map +1 -0
  104. package/dist/utils/{json-schema.d.ts → json-schema.d.cts} +19 -17
  105. package/dist/utils/json-schema.d.cts.map +1 -0
  106. package/dist/utils/json-schema.d.mts +36 -0
  107. package/dist/utils/json-schema.d.mts.map +1 -0
  108. package/dist/utils/json-schema.mjs +152 -12
  109. package/dist/utils/json-schema.mjs.map +1 -1
  110. package/dist/utils/random-id.cjs +38 -0
  111. package/dist/utils/random-id.cjs.map +1 -0
  112. package/dist/utils/{random-id.d.ts → random-id.d.cts} +3 -1
  113. package/dist/utils/random-id.d.cts.map +1 -0
  114. package/dist/utils/random-id.d.mts +8 -0
  115. package/dist/utils/random-id.d.mts.map +1 -0
  116. package/dist/utils/random-id.mjs +33 -12
  117. package/dist/utils/random-id.mjs.map +1 -1
  118. package/dist/utils/requests.cjs +58 -0
  119. package/dist/utils/requests.cjs.map +1 -0
  120. package/dist/utils/{requests.d.ts → requests.d.cts} +3 -1
  121. package/dist/utils/requests.d.cts.map +1 -0
  122. package/dist/utils/requests.d.mts +12 -0
  123. package/dist/utils/requests.d.mts.map +1 -0
  124. package/dist/utils/requests.mjs +56 -6
  125. package/dist/utils/requests.mjs.map +1 -1
  126. package/dist/utils/{types.d.ts → types.d.cts} +9 -7
  127. package/dist/utils/types.d.cts.map +1 -0
  128. package/dist/utils/types.d.mts +22 -0
  129. package/dist/utils/types.d.mts.map +1 -0
  130. package/package.json +17 -15
  131. package/src/types/message.ts +3 -1
  132. package/tsdown.config.ts +36 -0
  133. package/vitest.config.mjs +11 -0
  134. package/dist/chunk-2OJ5OJ2D.mjs +0 -1
  135. package/dist/chunk-2OJ5OJ2D.mjs.map +0 -1
  136. package/dist/chunk-3DK3UMRW.mjs +0 -217
  137. package/dist/chunk-3DK3UMRW.mjs.map +0 -1
  138. package/dist/chunk-6BE7PM2Q.mjs +0 -110
  139. package/dist/chunk-6BE7PM2Q.mjs.map +0 -1
  140. package/dist/chunk-BVVLGLFE.mjs +0 -435
  141. package/dist/chunk-BVVLGLFE.mjs.map +0 -1
  142. package/dist/chunk-FCCOSO5L.mjs +0 -1
  143. package/dist/chunk-FCCOSO5L.mjs.map +0 -1
  144. package/dist/chunk-GS5BLXSZ.mjs +0 -41
  145. package/dist/chunk-GS5BLXSZ.mjs.map +0 -1
  146. package/dist/chunk-HFJ7Q6KR.mjs +0 -38
  147. package/dist/chunk-HFJ7Q6KR.mjs.map +0 -1
  148. package/dist/chunk-IAFBVORQ.mjs +0 -1
  149. package/dist/chunk-IAFBVORQ.mjs.map +0 -1
  150. package/dist/chunk-M2RJI5BZ.mjs +0 -94
  151. package/dist/chunk-M2RJI5BZ.mjs.map +0 -1
  152. package/dist/chunk-MSUB6DGR.mjs +0 -1
  153. package/dist/chunk-MSUB6DGR.mjs.map +0 -1
  154. package/dist/chunk-N5EP5OD5.mjs +0 -1
  155. package/dist/chunk-N5EP5OD5.mjs.map +0 -1
  156. package/dist/chunk-NAFEBKSO.mjs +0 -1
  157. package/dist/chunk-NAFEBKSO.mjs.map +0 -1
  158. package/dist/chunk-P7STFMPO.mjs +0 -1
  159. package/dist/chunk-P7STFMPO.mjs.map +0 -1
  160. package/dist/chunk-UYARLQNA.mjs +0 -1
  161. package/dist/chunk-UYARLQNA.mjs.map +0 -1
  162. package/dist/chunk-V7BSERGI.mjs +0 -62
  163. package/dist/chunk-V7BSERGI.mjs.map +0 -1
  164. package/dist/chunk-WAZHII6M.mjs +0 -67
  165. package/dist/chunk-WAZHII6M.mjs.map +0 -1
  166. package/dist/chunk-XTHC46M2.mjs +0 -1
  167. package/dist/chunk-XTHC46M2.mjs.map +0 -1
  168. package/dist/chunk-ZIC6V6S5.mjs +0 -13
  169. package/dist/chunk-ZIC6V6S5.mjs.map +0 -1
  170. package/dist/chunk-ZUE2VR7D.mjs +0 -38
  171. package/dist/chunk-ZUE2VR7D.mjs.map +0 -1
  172. package/dist/constants/index.js +0 -40
  173. package/dist/constants/index.js.map +0 -1
  174. package/dist/index.d.ts +0 -25
  175. package/dist/index.js +0 -1138
  176. package/dist/index.js.map +0 -1
  177. package/dist/telemetry/events.d.ts +0 -45
  178. package/dist/telemetry/events.js +0 -19
  179. package/dist/telemetry/events.js.map +0 -1
  180. package/dist/telemetry/events.mjs +0 -1
  181. package/dist/telemetry/events.mjs.map +0 -1
  182. package/dist/telemetry/index.d.ts +0 -3
  183. package/dist/telemetry/index.js +0 -191
  184. package/dist/telemetry/index.js.map +0 -1
  185. package/dist/telemetry/index.mjs +0 -12
  186. package/dist/telemetry/index.mjs.map +0 -1
  187. package/dist/telemetry/scarf-client.d.ts +0 -7
  188. package/dist/telemetry/scarf-client.js +0 -59
  189. package/dist/telemetry/scarf-client.js.map +0 -1
  190. package/dist/telemetry/security-check.d.ts +0 -2
  191. package/dist/telemetry/security-check.js +0 -2
  192. package/dist/telemetry/security-check.js.map +0 -1
  193. package/dist/telemetry/security-check.mjs +0 -1
  194. package/dist/telemetry/security-check.mjs.map +0 -1
  195. package/dist/telemetry/telemetry-client.d.ts +0 -40
  196. package/dist/telemetry/telemetry-client.js +0 -189
  197. package/dist/telemetry/telemetry-client.js.map +0 -1
  198. package/dist/telemetry/utils.d.ts +0 -8
  199. package/dist/telemetry/utils.js +0 -73
  200. package/dist/telemetry/utils.js.map +0 -1
  201. package/dist/types/action.js +0 -19
  202. package/dist/types/action.js.map +0 -1
  203. package/dist/types/action.mjs +0 -2
  204. package/dist/types/action.mjs.map +0 -1
  205. package/dist/types/copilot-cloud-config.d.ts +0 -13
  206. package/dist/types/copilot-cloud-config.js +0 -19
  207. package/dist/types/copilot-cloud-config.js.map +0 -1
  208. package/dist/types/copilot-cloud-config.mjs +0 -2
  209. package/dist/types/copilot-cloud-config.mjs.map +0 -1
  210. package/dist/types/error.d.ts +0 -55
  211. package/dist/types/error.js +0 -19
  212. package/dist/types/error.js.map +0 -1
  213. package/dist/types/error.mjs +0 -2
  214. package/dist/types/error.mjs.map +0 -1
  215. package/dist/types/index.d.ts +0 -7
  216. package/dist/types/index.js +0 -19
  217. package/dist/types/index.js.map +0 -1
  218. package/dist/types/index.mjs +0 -8
  219. package/dist/types/index.mjs.map +0 -1
  220. package/dist/types/message.d.ts +0 -28
  221. package/dist/types/message.js +0 -19
  222. package/dist/types/message.js.map +0 -1
  223. package/dist/types/message.mjs +0 -2
  224. package/dist/types/message.mjs.map +0 -1
  225. package/dist/types/openai-assistant.d.ts +0 -53
  226. package/dist/types/openai-assistant.js +0 -19
  227. package/dist/types/openai-assistant.js.map +0 -1
  228. package/dist/types/openai-assistant.mjs +0 -2
  229. package/dist/types/openai-assistant.mjs.map +0 -1
  230. package/dist/types/utility.d.ts +0 -6
  231. package/dist/types/utility.js +0 -19
  232. package/dist/types/utility.js.map +0 -1
  233. package/dist/types/utility.mjs +0 -2
  234. package/dist/types/utility.mjs.map +0 -1
  235. package/dist/utils/conditions.js +0 -86
  236. package/dist/utils/conditions.js.map +0 -1
  237. package/dist/utils/console-styling.d.ts +0 -84
  238. package/dist/utils/console-styling.js +0 -123
  239. package/dist/utils/console-styling.js.map +0 -1
  240. package/dist/utils/errors.js +0 -452
  241. package/dist/utils/errors.js.map +0 -1
  242. package/dist/utils/index.js +0 -964
  243. package/dist/utils/index.js.map +0 -1
  244. package/dist/utils/json-schema.js +0 -244
  245. package/dist/utils/json-schema.js.map +0 -1
  246. package/dist/utils/random-id.js +0 -68
  247. package/dist/utils/random-id.js.map +0 -1
  248. package/dist/utils/requests.js +0 -91
  249. package/dist/utils/requests.js.map +0 -1
  250. package/dist/utils/types.js +0 -19
  251. package/dist/utils/types.js.map +0 -1
  252. package/dist/utils/types.mjs +0 -2
  253. package/dist/utils/types.mjs.map +0 -1
  254. package/jest.config.js +0 -5
  255. package/rollup.config.mjs +0 -54
  256. package/tsup.config.ts +0 -15
@@ -1,217 +0,0 @@
1
- // src/utils/json-schema.ts
2
- import { z } from "zod";
3
- function actionParametersToJsonSchema(actionParameters) {
4
- let parameters = {};
5
- for (let parameter of actionParameters || []) {
6
- parameters[parameter.name] = convertAttribute(parameter);
7
- }
8
- let requiredParameterNames = [];
9
- for (let arg of actionParameters || []) {
10
- if (arg.required !== false) {
11
- requiredParameterNames.push(arg.name);
12
- }
13
- }
14
- return {
15
- type: "object",
16
- properties: parameters,
17
- required: requiredParameterNames
18
- };
19
- }
20
- function jsonSchemaToActionParameters(jsonSchema) {
21
- if (jsonSchema.type !== "object" || !jsonSchema.properties) {
22
- return [];
23
- }
24
- const parameters = [];
25
- const requiredFields = jsonSchema.required || [];
26
- for (const [name, schema] of Object.entries(jsonSchema.properties)) {
27
- const parameter = convertJsonSchemaToParameter(
28
- name,
29
- schema,
30
- requiredFields.includes(name)
31
- );
32
- parameters.push(parameter);
33
- }
34
- return parameters;
35
- }
36
- function convertJsonSchemaToParameter(name, schema, isRequired) {
37
- const baseParameter = {
38
- name,
39
- description: schema.description
40
- };
41
- if (!isRequired) {
42
- baseParameter.required = false;
43
- }
44
- switch (schema.type) {
45
- case "string":
46
- return {
47
- ...baseParameter,
48
- type: "string",
49
- ...schema.enum && { enum: schema.enum }
50
- };
51
- case "number":
52
- case "boolean":
53
- return {
54
- ...baseParameter,
55
- type: schema.type
56
- };
57
- case "object":
58
- if (schema.properties) {
59
- const attributes = [];
60
- const requiredFields = schema.required || [];
61
- for (const [propName, propSchema] of Object.entries(
62
- schema.properties
63
- )) {
64
- attributes.push(
65
- convertJsonSchemaToParameter(
66
- propName,
67
- propSchema,
68
- requiredFields.includes(propName)
69
- )
70
- );
71
- }
72
- return {
73
- ...baseParameter,
74
- type: "object",
75
- attributes
76
- };
77
- }
78
- return {
79
- ...baseParameter,
80
- type: "object"
81
- };
82
- case "array":
83
- if (schema.items.type === "object" && "properties" in schema.items) {
84
- const attributes = [];
85
- const requiredFields = schema.items.required || [];
86
- for (const [propName, propSchema] of Object.entries(
87
- schema.items.properties || {}
88
- )) {
89
- attributes.push(
90
- convertJsonSchemaToParameter(
91
- propName,
92
- propSchema,
93
- requiredFields.includes(propName)
94
- )
95
- );
96
- }
97
- return {
98
- ...baseParameter,
99
- type: "object[]",
100
- attributes
101
- };
102
- } else if (schema.items.type === "array") {
103
- throw new Error("Nested arrays are not supported");
104
- } else {
105
- return {
106
- ...baseParameter,
107
- type: `${schema.items.type}[]`
108
- };
109
- }
110
- default:
111
- return {
112
- ...baseParameter,
113
- type: "string"
114
- };
115
- }
116
- }
117
- function convertAttribute(attribute) {
118
- var _a, _b, _c;
119
- switch (attribute.type) {
120
- case "string":
121
- return {
122
- type: "string",
123
- description: attribute.description,
124
- ...attribute.enum && { enum: attribute.enum }
125
- };
126
- case "number":
127
- case "boolean":
128
- return {
129
- type: attribute.type,
130
- description: attribute.description
131
- };
132
- case "object":
133
- case "object[]":
134
- const properties = (_a = attribute.attributes) == null ? void 0 : _a.reduce(
135
- (acc, attr) => {
136
- acc[attr.name] = convertAttribute(attr);
137
- return acc;
138
- },
139
- {}
140
- );
141
- const required = (_b = attribute.attributes) == null ? void 0 : _b.filter((attr) => attr.required !== false).map((attr) => attr.name);
142
- if (attribute.type === "object[]") {
143
- return {
144
- type: "array",
145
- items: {
146
- type: "object",
147
- ...properties && { properties },
148
- ...required && required.length > 0 && { required }
149
- },
150
- description: attribute.description
151
- };
152
- }
153
- return {
154
- type: "object",
155
- description: attribute.description,
156
- ...properties && { properties },
157
- ...required && required.length > 0 && { required }
158
- };
159
- default:
160
- if ((_c = attribute.type) == null ? void 0 : _c.endsWith("[]")) {
161
- const itemType = attribute.type.slice(0, -2);
162
- return {
163
- type: "array",
164
- items: { type: itemType },
165
- description: attribute.description
166
- };
167
- }
168
- return {
169
- type: "string",
170
- description: attribute.description
171
- };
172
- }
173
- }
174
- function convertJsonSchemaToZodSchema(jsonSchema, required) {
175
- if (jsonSchema.type === "object") {
176
- const spec = {};
177
- if (!jsonSchema.properties || !Object.keys(jsonSchema.properties).length) {
178
- return !required ? z.object(spec).optional() : z.object(spec);
179
- }
180
- for (const [key, value] of Object.entries(jsonSchema.properties)) {
181
- spec[key] = convertJsonSchemaToZodSchema(
182
- value,
183
- jsonSchema.required ? jsonSchema.required.includes(key) : false
184
- );
185
- }
186
- let schema = z.object(spec).describe(jsonSchema.description);
187
- return required ? schema : schema.optional();
188
- } else if (jsonSchema.type === "string") {
189
- let schema = z.string().describe(jsonSchema.description);
190
- return required ? schema : schema.optional();
191
- } else if (jsonSchema.type === "number") {
192
- let schema = z.number().describe(jsonSchema.description);
193
- return required ? schema : schema.optional();
194
- } else if (jsonSchema.type === "boolean") {
195
- let schema = z.boolean().describe(jsonSchema.description);
196
- return required ? schema : schema.optional();
197
- } else if (jsonSchema.type === "array") {
198
- let itemSchema = convertJsonSchemaToZodSchema(jsonSchema.items, true);
199
- let schema = z.array(itemSchema).describe(jsonSchema.description);
200
- return required ? schema : schema.optional();
201
- }
202
- throw new Error("Invalid JSON schema");
203
- }
204
- function getZodParameters(parameters) {
205
- if (!parameters)
206
- return z.object({});
207
- const jsonParams = actionParametersToJsonSchema(parameters);
208
- return convertJsonSchemaToZodSchema(jsonParams, true);
209
- }
210
-
211
- export {
212
- actionParametersToJsonSchema,
213
- jsonSchemaToActionParameters,
214
- convertJsonSchemaToZodSchema,
215
- getZodParameters
216
- };
217
- //# sourceMappingURL=chunk-3DK3UMRW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/json-schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Parameter } from \"../types\";\n\nexport type JSONSchemaString = {\n type: \"string\";\n description?: string;\n enum?: string[];\n};\n\nexport type JSONSchemaNumber = {\n type: \"number\";\n description?: string;\n};\n\nexport type JSONSchemaBoolean = {\n type: \"boolean\";\n description?: string;\n};\n\nexport type JSONSchemaObject = {\n type: \"object\";\n properties?: Record<string, JSONSchema>;\n required?: string[];\n description?: string;\n};\n\nexport type JSONSchemaArray = {\n type: \"array\";\n items: JSONSchema;\n description?: string;\n};\n\nexport type JSONSchema =\n | JSONSchemaString\n | JSONSchemaNumber\n | JSONSchemaBoolean\n | JSONSchemaObject\n | JSONSchemaArray;\n\nexport function actionParametersToJsonSchema(\n actionParameters: Parameter[],\n): JSONSchema {\n // Create the parameters object based on the argumentAnnotations\n let parameters: { [key: string]: any } = {};\n for (let parameter of actionParameters || []) {\n parameters[parameter.name] = convertAttribute(parameter);\n }\n\n let requiredParameterNames: string[] = [];\n for (let arg of actionParameters || []) {\n if (arg.required !== false) {\n requiredParameterNames.push(arg.name);\n }\n }\n\n // Create the ChatCompletionFunctions object\n return {\n type: \"object\",\n properties: parameters,\n required: requiredParameterNames,\n };\n}\n\n// Convert JSONSchema to Parameter[]\nexport function jsonSchemaToActionParameters(\n jsonSchema: JSONSchema,\n): Parameter[] {\n if (jsonSchema.type !== \"object\" || !jsonSchema.properties) {\n return [];\n }\n\n const parameters: Parameter[] = [];\n const requiredFields = jsonSchema.required || [];\n\n for (const [name, schema] of Object.entries(jsonSchema.properties)) {\n const parameter = convertJsonSchemaToParameter(\n name,\n schema,\n requiredFields.includes(name),\n );\n parameters.push(parameter);\n }\n\n return parameters;\n}\n\n// Convert JSONSchema property to Parameter\nfunction convertJsonSchemaToParameter(\n name: string,\n schema: JSONSchema,\n isRequired: boolean,\n): Parameter {\n const baseParameter: Parameter = {\n name,\n description: schema.description,\n };\n\n if (!isRequired) {\n baseParameter.required = false;\n }\n\n switch (schema.type) {\n case \"string\":\n return {\n ...baseParameter,\n type: \"string\",\n ...(schema.enum && { enum: schema.enum }),\n };\n case \"number\":\n case \"boolean\":\n return {\n ...baseParameter,\n type: schema.type,\n };\n case \"object\":\n if (schema.properties) {\n const attributes: Parameter[] = [];\n const requiredFields = schema.required || [];\n\n for (const [propName, propSchema] of Object.entries(\n schema.properties,\n )) {\n attributes.push(\n convertJsonSchemaToParameter(\n propName,\n propSchema,\n requiredFields.includes(propName),\n ),\n );\n }\n\n return {\n ...baseParameter,\n type: \"object\",\n attributes,\n };\n }\n return {\n ...baseParameter,\n type: \"object\",\n };\n case \"array\":\n if (schema.items.type === \"object\" && \"properties\" in schema.items) {\n const attributes: Parameter[] = [];\n const requiredFields = schema.items.required || [];\n\n for (const [propName, propSchema] of Object.entries(\n schema.items.properties || {},\n )) {\n attributes.push(\n convertJsonSchemaToParameter(\n propName,\n propSchema,\n requiredFields.includes(propName),\n ),\n );\n }\n\n return {\n ...baseParameter,\n type: \"object[]\",\n attributes,\n };\n } else if (schema.items.type === \"array\") {\n throw new Error(\"Nested arrays are not supported\");\n } else {\n return {\n ...baseParameter,\n type: `${schema.items.type}[]`,\n };\n }\n default:\n return {\n ...baseParameter,\n type: \"string\",\n };\n }\n}\n\nfunction convertAttribute(attribute: Parameter): JSONSchema {\n switch (attribute.type) {\n case \"string\":\n return {\n type: \"string\",\n description: attribute.description,\n ...(attribute.enum && { enum: attribute.enum }),\n };\n case \"number\":\n case \"boolean\":\n return {\n type: attribute.type,\n description: attribute.description,\n };\n case \"object\":\n case \"object[]\":\n const properties = attribute.attributes?.reduce(\n (acc, attr) => {\n acc[attr.name] = convertAttribute(attr);\n return acc;\n },\n {} as Record<string, any>,\n );\n const required = attribute.attributes\n ?.filter((attr) => attr.required !== false)\n .map((attr) => attr.name);\n if (attribute.type === \"object[]\") {\n return {\n type: \"array\",\n items: {\n type: \"object\",\n ...(properties && { properties }),\n ...(required && required.length > 0 && { required }),\n },\n description: attribute.description,\n };\n }\n return {\n type: \"object\",\n description: attribute.description,\n ...(properties && { properties }),\n ...(required && required.length > 0 && { required }),\n };\n default:\n // Handle arrays of primitive types and undefined attribute.type\n if (attribute.type?.endsWith(\"[]\")) {\n const itemType = attribute.type.slice(0, -2);\n return {\n type: \"array\",\n items: { type: itemType as any },\n description: attribute.description,\n };\n }\n // Fallback for undefined type or any other unexpected type\n return {\n type: \"string\",\n description: attribute.description,\n };\n }\n}\n\nexport function convertJsonSchemaToZodSchema(\n jsonSchema: any,\n required: boolean,\n): z.ZodSchema {\n if (jsonSchema.type === \"object\") {\n const spec: { [key: string]: z.ZodSchema } = {};\n\n if (!jsonSchema.properties || !Object.keys(jsonSchema.properties).length) {\n return !required ? z.object(spec).optional() : z.object(spec);\n }\n\n for (const [key, value] of Object.entries(jsonSchema.properties)) {\n spec[key] = convertJsonSchemaToZodSchema(\n value,\n jsonSchema.required ? jsonSchema.required.includes(key) : false,\n );\n }\n let schema = z.object(spec).describe(jsonSchema.description);\n return required ? schema : schema.optional();\n } else if (jsonSchema.type === \"string\") {\n let schema = z.string().describe(jsonSchema.description);\n return required ? schema : schema.optional();\n } else if (jsonSchema.type === \"number\") {\n let schema = z.number().describe(jsonSchema.description);\n return required ? schema : schema.optional();\n } else if (jsonSchema.type === \"boolean\") {\n let schema = z.boolean().describe(jsonSchema.description);\n return required ? schema : schema.optional();\n } else if (jsonSchema.type === \"array\") {\n let itemSchema = convertJsonSchemaToZodSchema(jsonSchema.items, true);\n let schema = z.array(itemSchema).describe(jsonSchema.description);\n return required ? schema : schema.optional();\n }\n throw new Error(\"Invalid JSON schema\");\n}\n\nexport function getZodParameters<T extends [] | Parameter[] | undefined>(\n parameters: T,\n): any {\n if (!parameters) return z.object({});\n const jsonParams = actionParametersToJsonSchema(parameters);\n return convertJsonSchemaToZodSchema(jsonParams, true);\n}\n"],"mappings":"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","names":[]}
@@ -1,110 +0,0 @@
1
- import {
2
- scarf_client_default
3
- } from "./chunk-HFJ7Q6KR.mjs";
4
- import {
5
- flattenObject
6
- } from "./chunk-ZUE2VR7D.mjs";
7
-
8
- // src/telemetry/telemetry-client.ts
9
- import { Analytics } from "@segment/analytics-node";
10
- import { v4 as uuidv4 } from "uuid";
11
- function isTelemetryDisabled() {
12
- return process.env.COPILOTKIT_TELEMETRY_DISABLED === "true" || process.env.COPILOTKIT_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "true" || process.env.DO_NOT_TRACK === "1";
13
- }
14
- var TelemetryClient = class {
15
- constructor({
16
- packageName,
17
- packageVersion,
18
- telemetryDisabled,
19
- telemetryBaseUrl,
20
- sampleRate
21
- }) {
22
- this.globalProperties = {};
23
- this.cloudConfiguration = null;
24
- this.telemetryDisabled = false;
25
- this.sampleRate = 0.05;
26
- this.anonymousId = `anon_${uuidv4()}`;
27
- this.packageName = packageName;
28
- this.packageVersion = packageVersion;
29
- this.telemetryDisabled = telemetryDisabled || isTelemetryDisabled();
30
- if (this.telemetryDisabled) {
31
- return;
32
- }
33
- this.setSampleRate(sampleRate);
34
- const writeKey = process.env.COPILOTKIT_SEGMENT_WRITE_KEY || "n7XAZtQCGS2v1vvBy3LgBCv2h3Y8whja";
35
- this.segment = new Analytics({
36
- writeKey
37
- });
38
- this.setGlobalProperties({
39
- "copilotkit.package.name": packageName,
40
- "copilotkit.package.version": packageVersion
41
- });
42
- }
43
- shouldSendEvent() {
44
- const randomNumber = Math.random();
45
- return randomNumber < this.sampleRate;
46
- }
47
- async capture(event, properties) {
48
- if (!this.shouldSendEvent() || !this.segment) {
49
- return;
50
- }
51
- const flattenedProperties = flattenObject(properties);
52
- const propertiesWithGlobal = {
53
- ...this.globalProperties,
54
- ...flattenedProperties
55
- };
56
- const orderedPropertiesWithGlobal = Object.keys(propertiesWithGlobal).sort().reduce(
57
- (obj, key) => {
58
- obj[key] = propertiesWithGlobal[key];
59
- return obj;
60
- },
61
- {}
62
- );
63
- this.segment.track({
64
- anonymousId: this.anonymousId,
65
- event,
66
- properties: { ...orderedPropertiesWithGlobal }
67
- });
68
- await scarf_client_default.logEvent({
69
- event
70
- });
71
- }
72
- setGlobalProperties(properties) {
73
- const flattenedProperties = flattenObject(properties);
74
- this.globalProperties = {
75
- ...this.globalProperties,
76
- ...flattenedProperties
77
- };
78
- }
79
- setCloudConfiguration(properties) {
80
- this.cloudConfiguration = properties;
81
- this.setGlobalProperties({
82
- cloud: {
83
- publicApiKey: properties.publicApiKey,
84
- baseUrl: properties.baseUrl
85
- }
86
- });
87
- }
88
- setSampleRate(sampleRate) {
89
- let _sampleRate;
90
- _sampleRate = sampleRate ?? 0.05;
91
- if (process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE) {
92
- _sampleRate = parseFloat(process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE);
93
- }
94
- if (_sampleRate < 0 || _sampleRate > 1) {
95
- throw new Error("Sample rate must be between 0 and 1");
96
- }
97
- this.sampleRate = _sampleRate;
98
- this.setGlobalProperties({
99
- sampleRate: this.sampleRate,
100
- sampleRateAdjustmentFactor: 1 - this.sampleRate,
101
- sampleWeight: 1 / this.sampleRate
102
- });
103
- }
104
- };
105
-
106
- export {
107
- isTelemetryDisabled,
108
- TelemetryClient
109
- };
110
- //# sourceMappingURL=chunk-6BE7PM2Q.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/telemetry/telemetry-client.ts"],"sourcesContent":["import { Analytics } from \"@segment/analytics-node\";\nimport { AnalyticsEvents } from \"./events\";\nimport { flattenObject } from \"./utils\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport scarfClient from \"./scarf-client\";\n\n/**\n * Checks if telemetry is disabled via environment variables.\n * Users can opt out by setting:\n * - COPILOTKIT_TELEMETRY_DISABLED=true or COPILOTKIT_TELEMETRY_DISABLED=1\n * - DO_NOT_TRACK=true or DO_NOT_TRACK=1\n */\nexport function isTelemetryDisabled(): boolean {\n return (\n (process.env as Record<string, string | undefined>)\n .COPILOTKIT_TELEMETRY_DISABLED === \"true\" ||\n (process.env as Record<string, string | undefined>)\n .COPILOTKIT_TELEMETRY_DISABLED === \"1\" ||\n (process.env as Record<string, string | undefined>).DO_NOT_TRACK ===\n \"true\" ||\n (process.env as Record<string, string | undefined>).DO_NOT_TRACK === \"1\"\n );\n}\n\nexport class TelemetryClient {\n segment: Analytics | undefined;\n globalProperties: Record<string, any> = {};\n cloudConfiguration: { publicApiKey: string; baseUrl: string } | null = null;\n packageName: string;\n packageVersion: string;\n private telemetryDisabled: boolean = false;\n private sampleRate: number = 0.05;\n private anonymousId = `anon_${uuidv4()}`;\n\n constructor({\n packageName,\n packageVersion,\n telemetryDisabled,\n telemetryBaseUrl,\n sampleRate,\n }: {\n packageName: string;\n packageVersion: string;\n telemetryDisabled?: boolean;\n telemetryBaseUrl?: string;\n sampleRate?: number;\n }) {\n this.packageName = packageName;\n this.packageVersion = packageVersion;\n this.telemetryDisabled = telemetryDisabled || isTelemetryDisabled();\n\n if (this.telemetryDisabled) {\n return;\n }\n\n this.setSampleRate(sampleRate);\n\n // eslint-disable-next-line\n const writeKey =\n process.env.COPILOTKIT_SEGMENT_WRITE_KEY ||\n \"n7XAZtQCGS2v1vvBy3LgBCv2h3Y8whja\";\n\n this.segment = new Analytics({\n writeKey,\n });\n\n this.setGlobalProperties({\n \"copilotkit.package.name\": packageName,\n \"copilotkit.package.version\": packageVersion,\n });\n }\n\n private shouldSendEvent() {\n const randomNumber = Math.random();\n return randomNumber < this.sampleRate;\n }\n\n async capture<K extends keyof AnalyticsEvents>(\n event: K,\n properties: AnalyticsEvents[K],\n ) {\n if (!this.shouldSendEvent() || !this.segment) {\n return;\n }\n\n const flattenedProperties = flattenObject(properties);\n const propertiesWithGlobal = {\n ...this.globalProperties,\n ...flattenedProperties,\n };\n const orderedPropertiesWithGlobal = Object.keys(propertiesWithGlobal)\n .sort()\n .reduce(\n (obj, key) => {\n obj[key] = propertiesWithGlobal[key];\n return obj;\n },\n {} as Record<string, any>,\n );\n\n this.segment.track({\n anonymousId: this.anonymousId,\n event,\n properties: { ...orderedPropertiesWithGlobal },\n });\n\n await scarfClient.logEvent({\n event,\n });\n }\n\n setGlobalProperties(properties: Record<string, any>) {\n const flattenedProperties = flattenObject(properties);\n this.globalProperties = {\n ...this.globalProperties,\n ...flattenedProperties,\n };\n }\n\n setCloudConfiguration(properties: { publicApiKey: string; baseUrl: string }) {\n this.cloudConfiguration = properties;\n\n this.setGlobalProperties({\n cloud: {\n publicApiKey: properties.publicApiKey,\n baseUrl: properties.baseUrl,\n },\n });\n }\n\n private setSampleRate(sampleRate: number | undefined) {\n let _sampleRate: number;\n\n _sampleRate = sampleRate ?? 0.05;\n\n // eslint-disable-next-line\n if (process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE) {\n // eslint-disable-next-line\n _sampleRate = parseFloat(process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE);\n }\n\n if (_sampleRate < 0 || _sampleRate > 1) {\n throw new Error(\"Sample rate must be between 0 and 1\");\n }\n\n this.sampleRate = _sampleRate;\n this.setGlobalProperties({\n sampleRate: this.sampleRate,\n sampleRateAdjustmentFactor: 1 - this.sampleRate,\n sampleWeight: 1 / this.sampleRate,\n });\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,iBAAiB;AAG1B,SAAS,MAAM,cAAc;AAStB,SAAS,sBAA+B;AAC7C,SACG,QAAQ,IACN,kCAAkC,UACpC,QAAQ,IACN,kCAAkC,OACpC,QAAQ,IAA2C,iBAClD,UACD,QAAQ,IAA2C,iBAAiB;AAEzE;AAEO,IAAM,kBAAN,MAAsB;AAAA,EAU3B,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAMG;AApBH,4BAAwC,CAAC;AACzC,8BAAuE;AAGvE,SAAQ,oBAA6B;AACrC,SAAQ,aAAqB;AAC7B,SAAQ,cAAc,QAAQ,OAAO;AAenC,SAAK,cAAc;AACnB,SAAK,iBAAiB;AACtB,SAAK,oBAAoB,qBAAqB,oBAAoB;AAElE,QAAI,KAAK,mBAAmB;AAC1B;AAAA,IACF;AAEA,SAAK,cAAc,UAAU;AAG7B,UAAM,WACJ,QAAQ,IAAI,gCACZ;AAEF,SAAK,UAAU,IAAI,UAAU;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,SAAK,oBAAoB;AAAA,MACvB,2BAA2B;AAAA,MAC3B,8BAA8B;AAAA,IAChC,CAAC;AAAA,EACH;AAAA,EAEQ,kBAAkB;AACxB,UAAM,eAAe,KAAK,OAAO;AACjC,WAAO,eAAe,KAAK;AAAA,EAC7B;AAAA,EAEA,MAAM,QACJ,OACA,YACA;AACA,QAAI,CAAC,KAAK,gBAAgB,KAAK,CAAC,KAAK,SAAS;AAC5C;AAAA,IACF;AAEA,UAAM,sBAAsB,cAAc,UAAU;AACpD,UAAM,uBAAuB;AAAA,MAC3B,GAAG,KAAK;AAAA,MACR,GAAG;AAAA,IACL;AACA,UAAM,8BAA8B,OAAO,KAAK,oBAAoB,EACjE,KAAK,EACL;AAAA,MACC,CAAC,KAAK,QAAQ;AACZ,YAAI,GAAG,IAAI,qBAAqB,GAAG;AACnC,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AAEF,SAAK,QAAQ,MAAM;AAAA,MACjB,aAAa,KAAK;AAAA,MAClB;AAAA,MACA,YAAY,EAAE,GAAG,4BAA4B;AAAA,IAC/C,CAAC;AAED,UAAM,qBAAY,SAAS;AAAA,MACzB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,oBAAoB,YAAiC;AACnD,UAAM,sBAAsB,cAAc,UAAU;AACpD,SAAK,mBAAmB;AAAA,MACtB,GAAG,KAAK;AAAA,MACR,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,sBAAsB,YAAuD;AAC3E,SAAK,qBAAqB;AAE1B,SAAK,oBAAoB;AAAA,MACvB,OAAO;AAAA,QACL,cAAc,WAAW;AAAA,QACzB,SAAS,WAAW;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ,cAAc,YAAgC;AACpD,QAAI;AAEJ,kBAAc,cAAc;AAG5B,QAAI,QAAQ,IAAI,kCAAkC;AAEhD,oBAAc,WAAW,QAAQ,IAAI,gCAAgC;AAAA,IACvE;AAEA,QAAI,cAAc,KAAK,cAAc,GAAG;AACtC,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACvD;AAEA,SAAK,aAAa;AAClB,SAAK,oBAAoB;AAAA,MACvB,YAAY,KAAK;AAAA,MACjB,4BAA4B,IAAI,KAAK;AAAA,MACrC,cAAc,IAAI,KAAK;AAAA,IACzB,CAAC;AAAA,EACH;AACF;","names":[]}