@copilotkit/shared 0.9.0-multi-feature-usecopilotreadable.4 → 0.9.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 (46) hide show
  1. package/.turbo/turbo-build.log +114 -107
  2. package/CHANGELOG.md +46 -4
  3. package/dist/chunk-5VZXLWOP.mjs +13 -0
  4. package/dist/chunk-5VZXLWOP.mjs.map +1 -0
  5. package/dist/chunk-BANDZXMP.mjs +1 -0
  6. package/dist/{chunk-2C54HQBI.mjs → chunk-DBW3BY7E.mjs} +1 -1
  7. package/dist/{chunk-2C54HQBI.mjs.map → chunk-DBW3BY7E.mjs.map} +1 -1
  8. package/dist/chunk-MSUB6DGR.mjs +1 -0
  9. package/dist/{chunk-K7TZQSAZ.mjs → chunk-S4HGLK2E.mjs} +8 -5
  10. package/dist/chunk-S4HGLK2E.mjs.map +1 -0
  11. package/dist/constants/index.d.ts +7 -0
  12. package/dist/constants/index.js +14 -0
  13. package/dist/constants/index.js.map +1 -1
  14. package/dist/constants/index.mjs +10 -1
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js +21 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +30 -20
  19. package/dist/types/copilot-cloud-config.d.ts +13 -0
  20. package/dist/types/copilot-cloud-config.js +19 -0
  21. package/dist/types/copilot-cloud-config.js.map +1 -0
  22. package/dist/types/copilot-cloud-config.mjs +2 -0
  23. package/dist/types/copilot-cloud-config.mjs.map +1 -0
  24. package/dist/types/index.d.ts +1 -0
  25. package/dist/types/index.js.map +1 -1
  26. package/dist/types/index.mjs +2 -1
  27. package/dist/utils/annotated-function.js +7 -4
  28. package/dist/utils/annotated-function.js.map +1 -1
  29. package/dist/utils/annotated-function.mjs +1 -1
  30. package/dist/utils/index.js +7 -4
  31. package/dist/utils/index.js.map +1 -1
  32. package/dist/utils/index.mjs +12 -12
  33. package/dist/utils/utils.d.ts +1 -1
  34. package/dist/utils/utils.js.map +1 -1
  35. package/dist/utils/utils.mjs +1 -1
  36. package/package.json +3 -3
  37. package/src/constants/index.ts +4 -0
  38. package/src/types/copilot-cloud-config.ts +11 -0
  39. package/src/types/index.ts +1 -0
  40. package/src/utils/annotated-function.ts +7 -4
  41. package/src/utils/utils.ts +1 -1
  42. package/dist/chunk-2M3YVRFS.mjs +0 -1
  43. package/dist/chunk-DE5K76I2.mjs +0 -1
  44. package/dist/chunk-K7TZQSAZ.mjs.map +0 -1
  45. /package/dist/{chunk-2M3YVRFS.mjs.map → chunk-BANDZXMP.mjs.map} +0 -0
  46. /package/dist/{chunk-DE5K76I2.mjs.map → chunk-MSUB6DGR.mjs.map} +0 -0
@@ -1,110 +1,117 @@
1
1
 
2
- > @copilotkit/shared@0.9.0-function-calling-fixes.2 build /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/shared
2
+ > @copilotkit/shared@0.9.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/shared
3
3
  > tsup --clean
4
4
 
5
- CLI Building entry: src/index.ts, src/constants/copilot-protocol.ts, src/constants/index.ts, src/utils/annotated-function.ts, src/utils/decode-chat-completion-as-text.ts, src/utils/decode-chat-completion.ts, src/utils/index.ts, src/utils/parse-chat-completion.ts, src/utils/utils.test.ts, src/utils/utils.ts, src/types/action.ts, src/types/annotated-function.ts, src/types/index.ts, src/types/openai-assistant.ts
6
- CLI Using tsconfig: tsconfig.json
7
- CLI tsup v6.7.0
8
- CLI Using tsup config: /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/shared/tsup.config.ts
9
- CLI Target: node14
10
- CLI Cleaning output folder
11
- ESM Build start
12
- CJS Build start
13
- CJS dist/index.js 17.20 KB
14
- CJS dist/constants/copilot-protocol.js 1.25 KB
15
- CJS dist/utils/annotated-function.js 5.81 KB
16
- CJS dist/types/action.js 801.00 B
17
- CJS dist/utils/decode-chat-completion.js 4.68 KB
18
- CJS dist/utils/decode-chat-completion-as-text.js 1.82 KB
19
- CJS dist/utils/index.js 16.99 KB
20
- CJS dist/constants/index.js 1.25 KB
21
- CJS dist/types/annotated-function.js 849.00 B
22
- CJS dist/types/index.js 797.00 B
23
- CJS dist/types/openai-assistant.js 841.00 B
24
- CJS dist/utils/parse-chat-completion.js 2.68 KB
25
- CJS dist/utils/utils.test.js 184.00 B
26
- CJS dist/utils/utils.js 6.25 KB
27
- CJS dist/index.js.map 33.09 KB
28
- CJS dist/utils/annotated-function.js.map 8.41 KB
29
- CJS dist/constants/copilot-protocol.js.map 261.00 B
30
- CJS dist/types/action.js.map 4.84 KB
31
- CJS dist/utils/decode-chat-completion.js.map 7.26 KB
32
- CJS dist/utils/decode-chat-completion-as-text.js.map 1.34 KB
33
- CJS dist/constants/index.js.map 336.00 B
34
- CJS dist/types/annotated-function.js.map 871.00 B
35
- CJS dist/utils/index.js.map 33.08 KB
36
- CJS dist/types/index.js.map 234.00 B
37
- CJS dist/utils/parse-chat-completion.js.map 4.17 KB
38
- CJS dist/types/openai-assistant.js.map 2.86 KB
39
- CJS dist/utils/utils.test.js.map 354.00 B
40
- CJS dist/utils/utils.js.map 12.08 KB
41
- CJS ⚡️ Build success in 26ms
42
- ESM dist/utils/utils.mjs 439.00 B
43
- ESM dist/types/annotated-function.mjs 79.00 B
44
- ESM dist/index.mjs 1.23 KB
45
- ESM dist/types/openai-assistant.mjs 77.00 B
46
- ESM dist/chunk-IAFBVORQ.mjs 43.00 B
47
- ESM dist/chunk-NAFEBKSO.mjs 43.00 B
48
- ESM dist/constants/index.mjs 187.00 B
49
- ESM dist/types/action.mjs 67.00 B
50
- ESM dist/chunk-2M3YVRFS.mjs 43.00 B
51
- ESM dist/chunk-3ZU7SB62.mjs 200.00 B
52
- ESM dist/utils/utils.test.mjs 170.00 B
53
- ESM dist/utils/decode-chat-completion-as-text.mjs 170.00 B
54
- ESM dist/utils/decode-chat-completion.mjs 150.00 B
55
- ESM dist/utils/index.mjs 1001.00 B
56
- ESM dist/chunk-UAPRMZEY.mjs 43.00 B
57
- ESM dist/chunk-YBHX4Y25.mjs 43.00 B
58
- ESM dist/utils/annotated-function.mjs 314.00 B
59
- ESM dist/chunk-CBF2BIA7.mjs 3.62 KB
60
- ESM dist/utils/parse-chat-completion.mjs 147.00 B
61
- ESM dist/chunk-K7TZQSAZ.mjs 4.59 KB
62
- ESM dist/types/index.mjs 162.00 B
63
- ESM dist/chunk-4MTSDAP6.mjs 729.00 B
64
- ESM dist/chunk-HW4V75UQ.mjs 1.63 KB
65
- ESM dist/chunk-2C54HQBI.mjs 4.92 KB
66
- ESM dist/chunk-DE5K76I2.mjs 43.00 B
67
- ESM dist/constants/copilot-protocol.mjs 166.00 B
68
- ESM dist/utils/utils.mjs.map 71.00 B
69
- ESM dist/chunk-IAFBVORQ.mjs.map 71.00 B
70
- ESM dist/index.mjs.map 71.00 B
71
- ESM dist/types/openai-assistant.mjs.map 71.00 B
72
- ESM dist/types/annotated-function.mjs.map 71.00 B
73
- ESM dist/types/action.mjs.map 71.00 B
74
- ESM dist/constants/index.mjs.map 71.00 B
75
- ESM dist/chunk-2M3YVRFS.mjs.map 71.00 B
76
- ESM dist/chunk-3ZU7SB62.mjs.map 214.00 B
77
- ESM dist/utils/utils.test.mjs.map 352.00 B
78
- ESM dist/utils/decode-chat-completion-as-text.mjs.map 71.00 B
79
- ESM dist/utils/index.mjs.map 71.00 B
80
- ESM dist/chunk-UAPRMZEY.mjs.map 71.00 B
81
- ESM dist/utils/annotated-function.mjs.map 71.00 B
82
- ESM dist/chunk-YBHX4Y25.mjs.map 71.00 B
83
- ESM dist/chunk-CBF2BIA7.mjs.map 7.21 KB
84
- ESM dist/types/index.mjs.map 71.00 B
85
- ESM dist/chunk-K7TZQSAZ.mjs.map 8.35 KB
86
- ESM dist/chunk-NAFEBKSO.mjs.map 71.00 B
87
- ESM dist/utils/parse-chat-completion.mjs.map 71.00 B
88
- ESM dist/utils/decode-chat-completion.mjs.map 71.00 B
89
- ESM dist/chunk-HW4V75UQ.mjs.map 4.12 KB
90
- ESM dist/chunk-4MTSDAP6.mjs.map 1.30 KB
91
- ESM dist/chunk-DE5K76I2.mjs.map 71.00 B
92
- ESM dist/constants/copilot-protocol.mjs.map 71.00 B
93
- ESM dist/chunk-2C54HQBI.mjs.map 12.00 KB
94
- ESM ⚡️ Build success in 27ms
95
- DTS Build start
96
- DTS ⚡️ Build success in 1207ms
97
- DTS dist/index.d.ts 1.26 KB
98
- DTS dist/types/openai-assistant.d.ts 2.79 KB
99
- DTS dist/types/annotated-function.d.ts 766.00 B
100
- DTS dist/types/action.d.ts 2.24 KB
101
- DTS dist/utils/utils.d.ts 4.32 KB
102
- DTS dist/utils/parse-chat-completion.d.ts 826.00 B
103
- DTS dist/utils/decode-chat-completion.d.ts 955.00 B
104
- DTS dist/utils/decode-chat-completion-as-text.d.ts 298.00 B
105
- DTS dist/utils/annotated-function.d.ts 600.00 B
106
- DTS dist/constants/copilot-protocol.d.ts 128.00 B
107
- DTS dist/constants/index.d.ts 73.00 B
108
- DTS dist/utils/index.d.ts 892.00 B
109
- DTS dist/utils/utils.test.d.ts 12.00 B
110
- DTS dist/types/index.d.ts 379.00 B
5
+ CLI Building entry: src/index.ts, src/constants/copilot-protocol.ts, src/constants/index.ts, src/types/action.ts, src/types/annotated-function.ts, src/types/copilot-cloud-config.ts, src/types/index.ts, src/types/openai-assistant.ts, src/utils/annotated-function.ts, src/utils/decode-chat-completion-as-text.ts, src/utils/decode-chat-completion.ts, src/utils/index.ts, src/utils/parse-chat-completion.ts, src/utils/utils.test.ts, src/utils/utils.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/shared/tsup.config.ts
9
+ CLI Target: node14
10
+ CLI Cleaning output folder
11
+ ESM Build start
12
+ CJS Build start
13
+ CJS dist/utils/annotated-function.js 5.84 KB
14
+ CJS dist/constants/copilot-protocol.js 1.25 KB
15
+ CJS dist/index.js 17.88 KB
16
+ CJS dist/constants/index.js 1.90 KB
17
+ CJS dist/types/annotated-function.js 849.00 B
18
+ CJS dist/types/action.js 801.00 B
19
+ CJS dist/types/copilot-cloud-config.js 857.00 B
20
+ CJS dist/types/index.js 797.00 B
21
+ CJS dist/utils/decode-chat-completion-as-text.js 1.82 KB
22
+ CJS dist/types/openai-assistant.js 841.00 B
23
+ CJS dist/utils/decode-chat-completion.js 4.68 KB
24
+ CJS dist/utils/index.js 17.02 KB
25
+ CJS dist/utils/utils.test.js 184.00 B
26
+ CJS dist/utils/parse-chat-completion.js 2.68 KB
27
+ CJS dist/utils/utils.js 6.25 KB
28
+ CJS dist/utils/annotated-function.js.map 8.45 KB
29
+ CJS dist/constants/copilot-protocol.js.map 261.00 B
30
+ CJS dist/index.js.map 33.63 KB
31
+ CJS dist/constants/index.js.map 766.00 B
32
+ CJS dist/types/annotated-function.js.map 871.00 B
33
+ CJS dist/types/action.js.map 4.84 KB
34
+ CJS dist/types/copilot-cloud-config.js.map 356.00 B
35
+ CJS dist/types/index.js.map 277.00 B
36
+ CJS dist/utils/decode-chat-completion-as-text.js.map 1.34 KB
37
+ CJS dist/types/openai-assistant.js.map 2.86 KB
38
+ CJS dist/utils/decode-chat-completion.js.map 7.26 KB
39
+ CJS dist/utils/index.js.map 33.13 KB
40
+ CJS dist/utils/utils.test.js.map 354.00 B
41
+ CJS dist/utils/parse-chat-completion.js.map 4.17 KB
42
+ CJS dist/utils/utils.js.map 12.09 KB
43
+ CJS ⚡️ Build success in 79ms
44
+ ESM dist/index.mjs 1.49 KB
45
+ ESM dist/constants/copilot-protocol.mjs 166.00 B
46
+ ESM dist/types/action.mjs 67.00 B
47
+ ESM dist/chunk-UAPRMZEY.mjs 43.00 B
48
+ ESM dist/chunk-S4HGLK2E.mjs 4.62 KB
49
+ ESM dist/chunk-4MTSDAP6.mjs 729.00 B
50
+ ESM dist/chunk-CBF2BIA7.mjs 3.62 KB
51
+ ESM dist/chunk-HW4V75UQ.mjs 1.63 KB
52
+ ESM dist/chunk-DBW3BY7E.mjs 4.92 KB
53
+ ESM dist/constants/index.mjs 425.00 B
54
+ ESM dist/chunk-5VZXLWOP.mjs 474.00 B
55
+ ESM dist/chunk-3ZU7SB62.mjs 200.00 B
56
+ ESM dist/types/annotated-function.mjs 79.00 B
57
+ ESM dist/types/copilot-cloud-config.mjs 81.00 B
58
+ ESM dist/types/index.mjs 194.00 B
59
+ ESM dist/chunk-BANDZXMP.mjs 43.00 B
60
+ ESM dist/chunk-NAFEBKSO.mjs 43.00 B
61
+ ESM dist/chunk-YBHX4Y25.mjs 43.00 B
62
+ ESM dist/chunk-MSUB6DGR.mjs 43.00 B
63
+ ESM dist/types/openai-assistant.mjs 77.00 B
64
+ ESM dist/chunk-IAFBVORQ.mjs 43.00 B
65
+ ESM dist/utils/annotated-function.mjs 314.00 B
66
+ ESM dist/utils/decode-chat-completion.mjs 150.00 B
67
+ ESM dist/utils/index.mjs 1001.00 B
68
+ ESM dist/utils/decode-chat-completion-as-text.mjs 170.00 B
69
+ ESM dist/utils/utils.test.mjs 170.00 B
70
+ ESM dist/utils/parse-chat-completion.mjs 147.00 B
71
+ ESM dist/utils/utils.mjs 439.00 B
72
+ ESM dist/index.mjs.map 71.00 B
73
+ ESM dist/constants/copilot-protocol.mjs.map 71.00 B
74
+ ESM dist/types/action.mjs.map 71.00 B
75
+ ESM dist/chunk-UAPRMZEY.mjs.map 71.00 B
76
+ ESM dist/chunk-S4HGLK2E.mjs.map 8.40 KB
77
+ ESM dist/chunk-4MTSDAP6.mjs.map 1.30 KB
78
+ ESM dist/chunk-CBF2BIA7.mjs.map 7.21 KB
79
+ ESM dist/chunk-HW4V75UQ.mjs.map 4.12 KB
80
+ ESM dist/chunk-DBW3BY7E.mjs.map 12.00 KB
81
+ ESM dist/constants/index.mjs.map 71.00 B
82
+ ESM dist/chunk-5VZXLWOP.mjs.map 547.00 B
83
+ ESM dist/chunk-3ZU7SB62.mjs.map 214.00 B
84
+ ESM dist/types/annotated-function.mjs.map 71.00 B
85
+ ESM dist/types/copilot-cloud-config.mjs.map 71.00 B
86
+ ESM dist/types/index.mjs.map 71.00 B
87
+ ESM dist/chunk-BANDZXMP.mjs.map 71.00 B
88
+ ESM dist/chunk-NAFEBKSO.mjs.map 71.00 B
89
+ ESM dist/chunk-YBHX4Y25.mjs.map 71.00 B
90
+ ESM dist/chunk-MSUB6DGR.mjs.map 71.00 B
91
+ ESM dist/types/openai-assistant.mjs.map 71.00 B
92
+ ESM dist/chunk-IAFBVORQ.mjs.map 71.00 B
93
+ ESM dist/utils/annotated-function.mjs.map 71.00 B
94
+ ESM dist/utils/index.mjs.map 71.00 B
95
+ ESM dist/utils/decode-chat-completion.mjs.map 71.00 B
96
+ ESM dist/utils/decode-chat-completion-as-text.mjs.map 71.00 B
97
+ ESM dist/utils/utils.test.mjs.map 352.00 B
98
+ ESM dist/utils/parse-chat-completion.mjs.map 71.00 B
99
+ ESM dist/utils/utils.mjs.map 71.00 B
100
+ ESM ⚡️ Build success in 86ms
101
+ DTS Build start
102
+ DTS ⚡️ Build success in 2228ms
103
+ DTS dist/index.d.ts 1.47 KB
104
+ DTS dist/types/openai-assistant.d.ts 2.79 KB
105
+ DTS dist/types/annotated-function.d.ts 766.00 B
106
+ DTS dist/types/action.d.ts 2.24 KB
107
+ DTS dist/types/copilot-cloud-config.d.ts 278.00 B
108
+ DTS dist/utils/utils.d.ts 4.32 KB
109
+ DTS dist/utils/parse-chat-completion.d.ts 826.00 B
110
+ DTS dist/utils/decode-chat-completion.d.ts 955.00 B
111
+ DTS dist/utils/decode-chat-completion-as-text.d.ts 298.00 B
112
+ DTS dist/utils/annotated-function.d.ts 600.00 B
113
+ DTS dist/constants/index.d.ts 496.00 B
114
+ DTS dist/constants/copilot-protocol.d.ts 128.00 B
115
+ DTS dist/types/index.d.ts 443.00 B
116
+ DTS dist/utils/index.d.ts 892.00 B
117
+ DTS dist/utils/utils.test.d.ts 12.00 B
package/CHANGELOG.md CHANGED
@@ -1,16 +1,58 @@
1
1
  # @copilotkit/shared
2
2
 
3
- ## 0.9.0-multi-feature-usecopilotreadable.4
3
+ ## 0.9.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
- - useCopilotReadable
7
+ - 718520b: gpt-4-turbo-april-2024 function calling fixes
8
+ - 95bcbd8: streamline cloud configuration
9
+ - 95bcbd8: Rename
10
+ - 95bcbd8: Upgrade langchain
11
+ - 95bcbd8: Support input guardrails (cloud)
12
+ - 95bcbd8: Unify api key handling
13
+ - CopilotCloud V1, useCopilotReadable and more...
14
+ - 95bcbd8: Get api key from headers dict
15
+ - 95bcbd8: Update comments
16
+ - 95bcbd8: Include reason in guardrails response
17
+ - 718520b: gpt-4-turbo-april-2024
18
+ - 95bcbd8: Update comments
19
+ - 5f6f57a: fix backend function calling return values
20
+ - 95bcbd8: Retrieve public API key
8
21
 
9
- ## 0.9.0-multi-feature-usecopilotreadable.3
22
+ ## 0.9.0-mme-cloud.7
10
23
 
11
24
  ### Minor Changes
12
25
 
13
- - multiple new features, including new useCopilotReadable
26
+ - Get api key from headers dict
27
+
28
+ ## 0.9.0-mme-cloud.6
29
+
30
+ ### Minor Changes
31
+
32
+ - Upgrade langchain
33
+
34
+ ## 0.9.0-mme-cloud.5
35
+
36
+ ### Minor Changes
37
+
38
+ - Update comments
39
+
40
+ ## 0.9.0-mme-cloud.4
41
+
42
+ ### Minor Changes
43
+
44
+ - Update comments
45
+
46
+ ## 0.9.0-mme-cloud.3
47
+
48
+ ### Minor Changes
49
+
50
+ - 85c029b: streamline cloud configuration
51
+ - Rename
52
+ - a5ade3b: Support input guardrails (cloud)
53
+ - 12ff590: Unify api key handling
54
+ - f0c4745: Include reason in guardrails response
55
+ - 17f4b1b: Retrieve public API key
14
56
 
15
57
  ## 0.9.0-function-calling-fixes.2
16
58
 
@@ -0,0 +1,13 @@
1
+ // src/constants/index.ts
2
+ var COPILOT_CLOUD_API_URL = "https://api.cloud.copilotkit.ai";
3
+ var COPILOT_CLOUD_VERSION = "v1";
4
+ var COPILOT_CLOUD_CHAT_URL = `${COPILOT_CLOUD_API_URL}/${COPILOT_CLOUD_VERSION}/copilotkit/runtime/chat`;
5
+ var COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = "X-CopilotCloud-Public-Api-Key";
6
+
7
+ export {
8
+ COPILOT_CLOUD_API_URL,
9
+ COPILOT_CLOUD_VERSION,
10
+ COPILOT_CLOUD_CHAT_URL,
11
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER
12
+ };
13
+ //# sourceMappingURL=chunk-5VZXLWOP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants/index.ts"],"sourcesContent":["export * from \"./copilot-protocol\";\nexport const COPILOT_CLOUD_API_URL = \"https://api.cloud.copilotkit.ai\";\nexport const COPILOT_CLOUD_VERSION = \"v1\";\nexport const COPILOT_CLOUD_CHAT_URL = `${COPILOT_CLOUD_API_URL}/${COPILOT_CLOUD_VERSION}/copilotkit/runtime/chat`;\nexport const COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = \"X-CopilotCloud-Public-Api-Key\";\n"],"mappings":";AACO,IAAM,wBAAwB;AAC9B,IAAM,wBAAwB;AAC9B,IAAM,yBAAyB,GAAG,yBAAyB;AAC3D,IAAM,sCAAsC;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-BANDZXMP.mjs.map
@@ -154,4 +154,4 @@ export {
154
154
  isStreamStringEqualToType,
155
155
  COMPLEX_HEADER
156
156
  };
157
- //# sourceMappingURL=chunk-2C54HQBI.mjs.map
157
+ //# sourceMappingURL=chunk-DBW3BY7E.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["import { AssistantMessage, FunctionCall, JSONValue } from \"../types/openai-assistant\";\n\nexport function encodeResult(result: string): string {\n if (result === undefined) {\n return \"\";\n } else if (typeof result === \"string\") {\n return result;\n } else {\n return JSON.stringify(result);\n }\n}\n\nexport function decodeResult(result: string): any {\n try {\n return JSON.parse(result);\n } catch (e) {\n return result;\n }\n}\n\nexport interface StreamPart<CODE extends string, NAME extends string, TYPE> {\n code: CODE;\n name: NAME;\n parse: (value: JSONValue) => { type: NAME; value: TYPE };\n}\n\nconst textStreamPart: StreamPart<\"0\", \"text\", string> = {\n code: \"0\",\n name: \"text\",\n parse: (value: JSONValue) => {\n if (typeof value !== \"string\") {\n throw new Error('\"text\" parts expect a string value.');\n }\n return { type: \"text\", value };\n },\n};\n\n/**\n * This is a utility function that helps in parsing the stream parts.\n * It takes a JSONValue as input and returns an object with type and value.\n * The type is a string that represents the type of the stream part.\n * The value is the actual value of the stream part.\n * If the input value is not a string, it throws an error.\n */\nconst functionCallStreamPart: StreamPart<\"1\", \"function_call\", { function_call: FunctionCall }> = {\n code: \"1\",\n name: \"function_call\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"function_call\" in value) ||\n typeof value.function_call !== \"object\" ||\n value.function_call == null ||\n !(\"name\" in value.function_call) ||\n !(\"arguments\" in value.function_call) ||\n typeof value.function_call.name !== \"string\" ||\n typeof value.function_call.arguments !== \"string\"\n ) {\n throw new Error('\"function_call\" parts expect an object with a \"function_call\" property.');\n }\n\n return {\n type: \"function_call\",\n value: value as unknown as { function_call: FunctionCall },\n };\n },\n};\n\nconst dataStreamPart: StreamPart<\"2\", \"data\", Array<JSONValue>> = {\n code: \"2\",\n name: \"data\",\n parse: (value: JSONValue) => {\n if (!Array.isArray(value)) {\n throw new Error('\"data\" parts expect an array value.');\n }\n\n return { type: \"data\", value };\n },\n};\n\nconst errorStreamPart: StreamPart<\"3\", \"error\", string> = {\n code: \"3\",\n name: \"error\",\n parse: (value: JSONValue) => {\n if (typeof value !== \"string\") {\n throw new Error('\"error\" parts expect a string value.');\n }\n return { type: \"error\", value };\n },\n};\n\nconst assistantMessage: StreamPart<\"4\", \"assistant_message\", AssistantMessage> = {\n code: \"4\",\n name: \"assistant_message\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"id\" in value) ||\n !(\"role\" in value) ||\n !(\"content\" in value) ||\n typeof value.id !== \"string\" ||\n typeof value.role !== \"string\" ||\n value.role !== \"assistant\" ||\n !Array.isArray(value.content) ||\n !value.content.every(\n (item) =>\n item != null &&\n typeof item === \"object\" &&\n \"type\" in item &&\n item.type === \"text\" &&\n \"text\" in item &&\n item.text != null &&\n typeof item.text === \"object\" &&\n \"value\" in item.text &&\n typeof item.text.value === \"string\",\n )\n ) {\n throw new Error(\n '\"assistant_message\" parts expect an object with an \"id\", \"role\", and \"content\" property.',\n );\n }\n\n return {\n type: \"assistant_message\",\n value: value as AssistantMessage,\n };\n },\n};\n\nconst assistantControlData: StreamPart<\n \"5\",\n \"assistant_control_data\",\n {\n threadId: string;\n messageId: string;\n }\n> = {\n code: \"5\",\n name: \"assistant_control_data\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"threadId\" in value) ||\n !(\"messageId\" in value) ||\n typeof value.threadId !== \"string\" ||\n typeof value.messageId !== \"string\"\n ) {\n throw new Error(\n '\"assistant_control_data\" parts expect an object with a \"threadId\" and \"messageId\" property.',\n );\n }\n\n return {\n type: \"assistant_control_data\",\n value: {\n threadId: value.threadId,\n messageId: value.messageId,\n },\n };\n },\n};\n\nconst streamParts = [\n textStreamPart,\n functionCallStreamPart,\n dataStreamPart,\n errorStreamPart,\n assistantMessage,\n assistantControlData,\n] as const;\n\n// union type of all stream parts\ntype StreamParts =\n | typeof textStreamPart\n | typeof functionCallStreamPart\n | typeof dataStreamPart\n | typeof errorStreamPart\n | typeof assistantMessage\n | typeof assistantControlData;\n\n/**\n * Maps the type of a stream part to its value type.\n */\ntype StreamPartValueType = {\n [P in StreamParts as P[\"name\"]]: ReturnType<P[\"parse\"]>[\"value\"];\n};\n\nexport type StreamPartType =\n | ReturnType<typeof textStreamPart.parse>\n | ReturnType<typeof functionCallStreamPart.parse>\n | ReturnType<typeof dataStreamPart.parse>\n | ReturnType<typeof errorStreamPart.parse>\n | ReturnType<typeof assistantMessage.parse>\n | ReturnType<typeof assistantControlData.parse>;\n\nexport const streamPartsByCode = {\n [textStreamPart.code]: textStreamPart,\n [functionCallStreamPart.code]: functionCallStreamPart,\n [dataStreamPart.code]: dataStreamPart,\n [errorStreamPart.code]: errorStreamPart,\n [assistantMessage.code]: assistantMessage,\n [assistantControlData.code]: assistantControlData,\n} as const;\n\n/**\n * The map of prefixes for data in the stream\n *\n * - 0: Text from the LLM response\n * - 1: (OpenAI) function_call responses\n * - 2: custom JSON added by the user using `Data`\n *\n * Example:\n * ```\n * 0:Vercel\n * 0:'s\n * 0: AI\n * 0: AI\n * 0: SDK\n * 0: is great\n * 0:!\n * 2: { \"someJson\": \"value\" }\n * 1: {\"function_call\": {\"name\": \"get_current_weather\", \"arguments\": \"{\\\\n\\\\\"location\\\\\": \\\\\"Charlottesville, Virginia\\\\\",\\\\n\\\\\"format\\\\\": \\\\\"celsius\\\\\"\\\\n}\"}}\n *```\n */\nexport const StreamStringPrefixes = {\n [textStreamPart.name]: textStreamPart.code,\n [functionCallStreamPart.name]: functionCallStreamPart.code,\n [dataStreamPart.name]: dataStreamPart.code,\n [errorStreamPart.name]: errorStreamPart.code,\n [assistantMessage.name]: assistantMessage.code,\n [assistantControlData.name]: assistantControlData.code,\n} as const;\n\nexport const validCodes = streamParts.map((part) => part.code);\n\n/**\n * Parses a stream part from a string.\n *\n * @param line The string to parse.\n * @returns The parsed stream part.\n * @throws An error if the string cannot be parsed.\n */\nexport const parseStreamPart = (line: string): StreamPartType => {\n const firstSeparatorIndex = line.indexOf(\":\");\n\n if (firstSeparatorIndex === -1) {\n throw new Error(\"Failed to parse stream string. No separator found.\");\n }\n\n const prefix = line.slice(0, firstSeparatorIndex);\n\n if (!validCodes.includes(prefix as keyof typeof streamPartsByCode)) {\n throw new Error(`Failed to parse stream string. Invalid code ${prefix}.`);\n }\n\n const code = prefix as keyof typeof streamPartsByCode;\n\n const textValue = line.slice(firstSeparatorIndex + 1);\n const jsonValue: JSONValue = JSON.parse(textValue);\n\n return streamPartsByCode[code].parse(jsonValue);\n};\n\n/**\n * Prepends a string with a prefix from the `StreamChunkPrefixes`, JSON-ifies it,\n * and appends a new line.\n *\n * It ensures type-safety for the part type and value.\n */\nexport function formatStreamPart<T extends keyof StreamPartValueType>(\n type: T,\n value: StreamPartValueType[T],\n): StreamString {\n const streamPart = streamParts.find((part) => part.name === type);\n\n if (!streamPart) {\n throw new Error(`Invalid stream part type: ${type}`);\n }\n\n return `${streamPart.code}:${JSON.stringify(value)}\\n`;\n}\n\nexport const isStreamStringEqualToType = (\n type: keyof typeof StreamStringPrefixes,\n value: string,\n): value is StreamString =>\n value.startsWith(`${StreamStringPrefixes[type]}:`) && value.endsWith(\"\\n\");\n\nexport type StreamString =\n `${typeof StreamStringPrefixes[keyof typeof StreamStringPrefixes]}:${string}\\n`;\n\n/**\n * A header sent to the client so it knows how to handle parsing the stream (as a deprecated text response or using the new prefixed protocol)\n */\nexport const COMPLEX_HEADER = \"X-Experimental-Stream-Data\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["import { AssistantMessage, FunctionCall, JSONValue } from \"../types/openai-assistant\";\n\nexport function encodeResult(result: string): string {\n if (result === undefined) {\n return \"\";\n } else if (typeof result === \"string\") {\n return result;\n } else {\n return JSON.stringify(result);\n }\n}\n\nexport function decodeResult(result: string): any {\n try {\n return JSON.parse(result);\n } catch (e) {\n return result;\n }\n}\n\nexport interface StreamPart<CODE extends string, NAME extends string, TYPE> {\n code: CODE;\n name: NAME;\n parse: (value: JSONValue) => { type: NAME; value: TYPE };\n}\n\nconst textStreamPart: StreamPart<\"0\", \"text\", string> = {\n code: \"0\",\n name: \"text\",\n parse: (value: JSONValue) => {\n if (typeof value !== \"string\") {\n throw new Error('\"text\" parts expect a string value.');\n }\n return { type: \"text\", value };\n },\n};\n\n/**\n * This is a utility function that helps in parsing the stream parts.\n * It takes a JSONValue as input and returns an object with type and value.\n * The type is a string that represents the type of the stream part.\n * The value is the actual value of the stream part.\n * If the input value is not a string, it throws an error.\n */\nconst functionCallStreamPart: StreamPart<\"1\", \"function_call\", { function_call: FunctionCall }> = {\n code: \"1\",\n name: \"function_call\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"function_call\" in value) ||\n typeof value.function_call !== \"object\" ||\n value.function_call == null ||\n !(\"name\" in value.function_call) ||\n !(\"arguments\" in value.function_call) ||\n typeof value.function_call.name !== \"string\" ||\n typeof value.function_call.arguments !== \"string\"\n ) {\n throw new Error('\"function_call\" parts expect an object with a \"function_call\" property.');\n }\n\n return {\n type: \"function_call\",\n value: value as unknown as { function_call: FunctionCall },\n };\n },\n};\n\nconst dataStreamPart: StreamPart<\"2\", \"data\", Array<JSONValue>> = {\n code: \"2\",\n name: \"data\",\n parse: (value: JSONValue) => {\n if (!Array.isArray(value)) {\n throw new Error('\"data\" parts expect an array value.');\n }\n\n return { type: \"data\", value };\n },\n};\n\nconst errorStreamPart: StreamPart<\"3\", \"error\", string> = {\n code: \"3\",\n name: \"error\",\n parse: (value: JSONValue) => {\n if (typeof value !== \"string\") {\n throw new Error('\"error\" parts expect a string value.');\n }\n return { type: \"error\", value };\n },\n};\n\nconst assistantMessage: StreamPart<\"4\", \"assistant_message\", AssistantMessage> = {\n code: \"4\",\n name: \"assistant_message\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"id\" in value) ||\n !(\"role\" in value) ||\n !(\"content\" in value) ||\n typeof value.id !== \"string\" ||\n typeof value.role !== \"string\" ||\n value.role !== \"assistant\" ||\n !Array.isArray(value.content) ||\n !value.content.every(\n (item) =>\n item != null &&\n typeof item === \"object\" &&\n \"type\" in item &&\n item.type === \"text\" &&\n \"text\" in item &&\n item.text != null &&\n typeof item.text === \"object\" &&\n \"value\" in item.text &&\n typeof item.text.value === \"string\",\n )\n ) {\n throw new Error(\n '\"assistant_message\" parts expect an object with an \"id\", \"role\", and \"content\" property.',\n );\n }\n\n return {\n type: \"assistant_message\",\n value: value as AssistantMessage,\n };\n },\n};\n\nconst assistantControlData: StreamPart<\n \"5\",\n \"assistant_control_data\",\n {\n threadId: string;\n messageId: string;\n }\n> = {\n code: \"5\",\n name: \"assistant_control_data\",\n parse: (value: JSONValue) => {\n if (\n value == null ||\n typeof value !== \"object\" ||\n !(\"threadId\" in value) ||\n !(\"messageId\" in value) ||\n typeof value.threadId !== \"string\" ||\n typeof value.messageId !== \"string\"\n ) {\n throw new Error(\n '\"assistant_control_data\" parts expect an object with a \"threadId\" and \"messageId\" property.',\n );\n }\n\n return {\n type: \"assistant_control_data\",\n value: {\n threadId: value.threadId,\n messageId: value.messageId,\n },\n };\n },\n};\n\nconst streamParts = [\n textStreamPart,\n functionCallStreamPart,\n dataStreamPart,\n errorStreamPart,\n assistantMessage,\n assistantControlData,\n] as const;\n\n// union type of all stream parts\ntype StreamParts =\n | typeof textStreamPart\n | typeof functionCallStreamPart\n | typeof dataStreamPart\n | typeof errorStreamPart\n | typeof assistantMessage\n | typeof assistantControlData;\n\n/**\n * Maps the type of a stream part to its value type.\n */\ntype StreamPartValueType = {\n [P in StreamParts as P[\"name\"]]: ReturnType<P[\"parse\"]>[\"value\"];\n};\n\nexport type StreamPartType =\n | ReturnType<typeof textStreamPart.parse>\n | ReturnType<typeof functionCallStreamPart.parse>\n | ReturnType<typeof dataStreamPart.parse>\n | ReturnType<typeof errorStreamPart.parse>\n | ReturnType<typeof assistantMessage.parse>\n | ReturnType<typeof assistantControlData.parse>;\n\nexport const streamPartsByCode = {\n [textStreamPart.code]: textStreamPart,\n [functionCallStreamPart.code]: functionCallStreamPart,\n [dataStreamPart.code]: dataStreamPart,\n [errorStreamPart.code]: errorStreamPart,\n [assistantMessage.code]: assistantMessage,\n [assistantControlData.code]: assistantControlData,\n} as const;\n\n/**\n * The map of prefixes for data in the stream\n *\n * - 0: Text from the LLM response\n * - 1: (OpenAI) function_call responses\n * - 2: custom JSON added by the user using `Data`\n *\n * Example:\n * ```\n * 0:Vercel\n * 0:'s\n * 0: AI\n * 0: AI\n * 0: SDK\n * 0: is great\n * 0:!\n * 2: { \"someJson\": \"value\" }\n * 1: {\"function_call\": {\"name\": \"get_current_weather\", \"arguments\": \"{\\\\n\\\\\"location\\\\\": \\\\\"Charlottesville, Virginia\\\\\",\\\\n\\\\\"format\\\\\": \\\\\"celsius\\\\\"\\\\n}\"}}\n *```\n */\nexport const StreamStringPrefixes = {\n [textStreamPart.name]: textStreamPart.code,\n [functionCallStreamPart.name]: functionCallStreamPart.code,\n [dataStreamPart.name]: dataStreamPart.code,\n [errorStreamPart.name]: errorStreamPart.code,\n [assistantMessage.name]: assistantMessage.code,\n [assistantControlData.name]: assistantControlData.code,\n} as const;\n\nexport const validCodes = streamParts.map((part) => part.code);\n\n/**\n * Parses a stream part from a string.\n *\n * @param line The string to parse.\n * @returns The parsed stream part.\n * @throws An error if the string cannot be parsed.\n */\nexport const parseStreamPart = (line: string): StreamPartType => {\n const firstSeparatorIndex = line.indexOf(\":\");\n\n if (firstSeparatorIndex === -1) {\n throw new Error(\"Failed to parse stream string. No separator found.\");\n }\n\n const prefix = line.slice(0, firstSeparatorIndex);\n\n if (!validCodes.includes(prefix as keyof typeof streamPartsByCode)) {\n throw new Error(`Failed to parse stream string. Invalid code ${prefix}.`);\n }\n\n const code = prefix as keyof typeof streamPartsByCode;\n\n const textValue = line.slice(firstSeparatorIndex + 1);\n const jsonValue: JSONValue = JSON.parse(textValue);\n\n return streamPartsByCode[code].parse(jsonValue);\n};\n\n/**\n * Prepends a string with a prefix from the `StreamChunkPrefixes`, JSON-ifies it,\n * and appends a new line.\n *\n * It ensures type-safety for the part type and value.\n */\nexport function formatStreamPart<T extends keyof StreamPartValueType>(\n type: T,\n value: StreamPartValueType[T],\n): StreamString {\n const streamPart = streamParts.find((part) => part.name === type);\n\n if (!streamPart) {\n throw new Error(`Invalid stream part type: ${type}`);\n }\n\n return `${streamPart.code}:${JSON.stringify(value)}\\n`;\n}\n\nexport const isStreamStringEqualToType = (\n type: keyof typeof StreamStringPrefixes,\n value: string,\n): value is StreamString =>\n value.startsWith(`${StreamStringPrefixes[type]}:`) && value.endsWith(\"\\n\");\n\nexport type StreamString =\n `${(typeof StreamStringPrefixes)[keyof typeof StreamStringPrefixes]}:${string}\\n`;\n\n/**\n * A header sent to the client so it knows how to handle parsing the stream (as a deprecated text response or using the new prefixed protocol)\n */\nexport const COMPLEX_HEADER = \"X-Experimental-Stream-Data\";\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-MSUB6DGR.mjs.map
@@ -42,10 +42,13 @@ function convertAttribute(attribute) {
42
42
  };
43
43
  case "object":
44
44
  case "object[]":
45
- const properties = (_a = attribute.attributes) == null ? void 0 : _a.reduce((acc, attr) => {
46
- acc[attr.name] = convertAttribute(attr);
47
- return acc;
48
- }, {});
45
+ const properties = (_a = attribute.attributes) == null ? void 0 : _a.reduce(
46
+ (acc, attr) => {
47
+ acc[attr.name] = convertAttribute(attr);
48
+ return acc;
49
+ },
50
+ {}
51
+ );
49
52
  const required = (_b = attribute.attributes) == null ? void 0 : _b.filter((attr) => attr.required !== false).map((attr) => attr.name);
50
53
  if (attribute.type === "object[]") {
51
54
  return {
@@ -157,4 +160,4 @@ export {
157
160
  actionToChatCompletionFunction,
158
161
  annotatedFunctionToAction
159
162
  };
160
- //# sourceMappingURL=chunk-K7TZQSAZ.mjs.map
163
+ //# sourceMappingURL=chunk-S4HGLK2E.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/annotated-function.ts"],"sourcesContent":["import { Action, AnnotatedFunction, ToolDefinition, Parameter } from \"../types\";\n\nexport function annotatedFunctionToChatCompletionFunction(\n annotatedFunction: AnnotatedFunction<any[]>,\n): ToolDefinition {\n // Create the parameters object based on the argumentAnnotations\n let parameters: { [key: string]: any } = {};\n for (let arg of annotatedFunction.argumentAnnotations) {\n // isolate the args we should forward inline\n let { name, required, ...forwardedArgs } = arg;\n parameters[arg.name] = forwardedArgs;\n }\n\n let requiredParameterNames: string[] = [];\n for (let arg of annotatedFunction.argumentAnnotations) {\n if (arg.required) {\n requiredParameterNames.push(arg.name);\n }\n }\n\n // Create the ChatCompletionFunctions object\n let chatCompletionFunction: ToolDefinition = {\n type: \"function\",\n function: {\n name: annotatedFunction.name,\n description: annotatedFunction.description,\n parameters: {\n type: \"object\",\n properties: parameters,\n required: requiredParameterNames,\n },\n },\n };\n\n return chatCompletionFunction;\n}\n\nfunction convertAttribute(attribute: Parameter): any {\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 },\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 actionToChatCompletionFunction(action: Action<any>): ToolDefinition {\n // Create the parameters object based on the argumentAnnotations\n let parameters: { [key: string]: any } = {};\n for (let parameter of action.parameters || []) {\n parameters[parameter.name] = convertAttribute(parameter);\n }\n\n let requiredParameterNames: string[] = [];\n for (let arg of action.parameters || []) {\n if (arg.required !== false) {\n requiredParameterNames.push(arg.name);\n }\n }\n\n // Create the ChatCompletionFunctions object\n let chatCompletionFunction: ToolDefinition = {\n type: \"function\",\n function: {\n name: action.name,\n ...(action.description && { description: action.description }),\n parameters: {\n type: \"object\",\n properties: parameters,\n required: requiredParameterNames,\n },\n },\n };\n\n return chatCompletionFunction;\n}\n\nexport function annotatedFunctionToAction(\n annotatedFunction: AnnotatedFunction<any[]>,\n): Action<any> {\n const parameters: Parameter[] = annotatedFunction.argumentAnnotations.map((annotation) => {\n switch (annotation.type) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n case \"object\":\n return {\n name: annotation.name,\n description: annotation.description,\n type: annotation.type,\n required: annotation.required,\n };\n case \"array\":\n let type;\n if (annotation.items.type === \"string\") {\n type = \"string[]\";\n } else if (annotation.items.type === \"number\") {\n type = \"number[]\";\n } else if (annotation.items.type === \"boolean\") {\n type = \"boolean[]\";\n } else if (annotation.items.type === \"object\") {\n type = \"object[]\";\n } else {\n type = \"string[]\";\n }\n return {\n name: annotation.name,\n description: annotation.description,\n type: type as any,\n required: annotation.required,\n };\n }\n });\n\n return {\n name: annotatedFunction.name,\n description: annotatedFunction.description,\n parameters: parameters,\n handler: (args) => {\n const paramsInCorrectOrder: any[] = [];\n for (let arg of annotatedFunction.argumentAnnotations) {\n paramsInCorrectOrder.push(args[arg.name]);\n }\n return annotatedFunction.implementation(...paramsInCorrectOrder);\n },\n };\n}\n"],"mappings":"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","names":[]}
@@ -1 +1,8 @@
1
1
  export { EXCLUDE_FROM_FORWARD_PROPS_KEYS } from './copilot-protocol.js';
2
+
3
+ declare const COPILOT_CLOUD_API_URL = "https://api.cloud.copilotkit.ai";
4
+ declare const COPILOT_CLOUD_VERSION = "v1";
5
+ declare const COPILOT_CLOUD_CHAT_URL = "https://api.cloud.copilotkit.ai/v1/copilotkit/runtime/chat";
6
+ declare const COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = "X-CopilotCloud-Public-Api-Key";
7
+
8
+ export { COPILOT_CLOUD_API_URL, COPILOT_CLOUD_CHAT_URL, COPILOT_CLOUD_PUBLIC_API_KEY_HEADER, COPILOT_CLOUD_VERSION };
@@ -20,14 +20,28 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/constants/index.ts
21
21
  var constants_exports = {};
22
22
  __export(constants_exports, {
23
+ COPILOT_CLOUD_API_URL: () => COPILOT_CLOUD_API_URL,
24
+ COPILOT_CLOUD_CHAT_URL: () => COPILOT_CLOUD_CHAT_URL,
25
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER: () => COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
26
+ COPILOT_CLOUD_VERSION: () => COPILOT_CLOUD_VERSION,
23
27
  EXCLUDE_FROM_FORWARD_PROPS_KEYS: () => EXCLUDE_FROM_FORWARD_PROPS_KEYS
24
28
  });
25
29
  module.exports = __toCommonJS(constants_exports);
26
30
 
27
31
  // src/constants/copilot-protocol.ts
28
32
  var EXCLUDE_FROM_FORWARD_PROPS_KEYS = "exclude_from_forward_props_keys";
33
+
34
+ // src/constants/index.ts
35
+ var COPILOT_CLOUD_API_URL = "https://api.cloud.copilotkit.ai";
36
+ var COPILOT_CLOUD_VERSION = "v1";
37
+ var COPILOT_CLOUD_CHAT_URL = `${COPILOT_CLOUD_API_URL}/${COPILOT_CLOUD_VERSION}/copilotkit/runtime/chat`;
38
+ var COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = "X-CopilotCloud-Public-Api-Key";
29
39
  // Annotate the CommonJS export names for ESM import in node:
30
40
  0 && (module.exports = {
41
+ COPILOT_CLOUD_API_URL,
42
+ COPILOT_CLOUD_CHAT_URL,
43
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
44
+ COPILOT_CLOUD_VERSION,
31
45
  EXCLUDE_FROM_FORWARD_PROPS_KEYS
32
46
  });
33
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/index.ts","../../src/constants/copilot-protocol.ts"],"sourcesContent":["export * from \"./copilot-protocol\";\n","export const EXCLUDE_FROM_FORWARD_PROPS_KEYS = \"exclude_from_forward_props_keys\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,kCAAkC;","names":[]}
1
+ {"version":3,"sources":["../../src/constants/index.ts","../../src/constants/copilot-protocol.ts"],"sourcesContent":["export * from \"./copilot-protocol\";\nexport const COPILOT_CLOUD_API_URL = \"https://api.cloud.copilotkit.ai\";\nexport const COPILOT_CLOUD_VERSION = \"v1\";\nexport const COPILOT_CLOUD_CHAT_URL = `${COPILOT_CLOUD_API_URL}/${COPILOT_CLOUD_VERSION}/copilotkit/runtime/chat`;\nexport const COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = \"X-CopilotCloud-Public-Api-Key\";\n","export const EXCLUDE_FROM_FORWARD_PROPS_KEYS = \"exclude_from_forward_props_keys\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,kCAAkC;;;ADCxC,IAAM,wBAAwB;AAC9B,IAAM,wBAAwB;AAC9B,IAAM,yBAAyB,GAAG,yBAAyB;AAC3D,IAAM,sCAAsC;","names":[]}
@@ -1,8 +1,17 @@
1
- import "../chunk-2M3YVRFS.mjs";
1
+ import {
2
+ COPILOT_CLOUD_API_URL,
3
+ COPILOT_CLOUD_CHAT_URL,
4
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
5
+ COPILOT_CLOUD_VERSION
6
+ } from "../chunk-5VZXLWOP.mjs";
2
7
  import {
3
8
  EXCLUDE_FROM_FORWARD_PROPS_KEYS
4
9
  } from "../chunk-3ZU7SB62.mjs";
5
10
  export {
11
+ COPILOT_CLOUD_API_URL,
12
+ COPILOT_CLOUD_CHAT_URL,
13
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
14
+ COPILOT_CLOUD_VERSION,
6
15
  EXCLUDE_FROM_FORWARD_PROPS_KEYS
7
16
  };
8
17
  //# sourceMappingURL=index.mjs.map
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  export { AssistantMessage, FunctionCall, FunctionCallHandler, FunctionDefinition, JSONValue, Message, Role, ToolDefinition } from './types/openai-assistant.js';
2
2
  export { AnnotatedFunction, AnnotatedFunctionArgument, AnnotatedFunctionArrayArgument, AnnotatedFunctionSimpleArgument } from './types/annotated-function.js';
3
3
  export { Action, MappedParameterTypes, Parameter } from './types/action.js';
4
+ export { CopilotCloudConfig } from './types/copilot-cloud-config.js';
4
5
  export { COMPLEX_HEADER, StreamPart, StreamPartType, StreamString, StreamStringPrefixes, decodeResult, encodeResult, formatStreamPart, isStreamStringEqualToType, parseStreamPart, streamPartsByCode, validCodes } from './utils/utils.js';
5
6
  export { ChatCompletionChunk, ToolCallFunctionCall, ToolCallPayload, parseChatCompletion } from './utils/parse-chat-completion.js';
6
7
  export { ChatCompletionContentEvent, ChatCompletionEvent, ChatCompletionFunctionEvent, ChatCompletionPartialEvent, ChatCompletionResultEvent, decodeChatCompletion } from './utils/decode-chat-completion.js';
7
8
  export { decodeChatCompletionAsText } from './utils/decode-chat-completion-as-text.js';
8
9
  export { actionToChatCompletionFunction, annotatedFunctionToAction, annotatedFunctionToChatCompletionFunction } from './utils/annotated-function.js';
10
+ export { COPILOT_CLOUD_API_URL, COPILOT_CLOUD_CHAT_URL, COPILOT_CLOUD_PUBLIC_API_KEY_HEADER, COPILOT_CLOUD_VERSION } from './constants/index.js';
9
11
  export { EXCLUDE_FROM_FORWARD_PROPS_KEYS } from './constants/copilot-protocol.js';
package/dist/index.js CHANGED
@@ -21,6 +21,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
23
  COMPLEX_HEADER: () => COMPLEX_HEADER,
24
+ COPILOT_CLOUD_API_URL: () => COPILOT_CLOUD_API_URL,
25
+ COPILOT_CLOUD_CHAT_URL: () => COPILOT_CLOUD_CHAT_URL,
26
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER: () => COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
27
+ COPILOT_CLOUD_VERSION: () => COPILOT_CLOUD_VERSION,
24
28
  EXCLUDE_FROM_FORWARD_PROPS_KEYS: () => EXCLUDE_FROM_FORWARD_PROPS_KEYS,
25
29
  StreamStringPrefixes: () => StreamStringPrefixes,
26
30
  actionToChatCompletionFunction: () => actionToChatCompletionFunction,
@@ -424,10 +428,13 @@ function convertAttribute(attribute) {
424
428
  };
425
429
  case "object":
426
430
  case "object[]":
427
- const properties = (_a = attribute.attributes) == null ? void 0 : _a.reduce((acc, attr) => {
428
- acc[attr.name] = convertAttribute(attr);
429
- return acc;
430
- }, {});
431
+ const properties = (_a = attribute.attributes) == null ? void 0 : _a.reduce(
432
+ (acc, attr) => {
433
+ acc[attr.name] = convertAttribute(attr);
434
+ return acc;
435
+ },
436
+ {}
437
+ );
431
438
  const required = (_b = attribute.attributes) == null ? void 0 : _b.filter((attr) => attr.required !== false).map((attr) => attr.name);
432
439
  if (attribute.type === "object[]") {
433
440
  return {
@@ -536,9 +543,19 @@ function annotatedFunctionToAction(annotatedFunction) {
536
543
 
537
544
  // src/constants/copilot-protocol.ts
538
545
  var EXCLUDE_FROM_FORWARD_PROPS_KEYS = "exclude_from_forward_props_keys";
546
+
547
+ // src/constants/index.ts
548
+ var COPILOT_CLOUD_API_URL = "https://api.cloud.copilotkit.ai";
549
+ var COPILOT_CLOUD_VERSION = "v1";
550
+ var COPILOT_CLOUD_CHAT_URL = `${COPILOT_CLOUD_API_URL}/${COPILOT_CLOUD_VERSION}/copilotkit/runtime/chat`;
551
+ var COPILOT_CLOUD_PUBLIC_API_KEY_HEADER = "X-CopilotCloud-Public-Api-Key";
539
552
  // Annotate the CommonJS export names for ESM import in node:
540
553
  0 && (module.exports = {
541
554
  COMPLEX_HEADER,
555
+ COPILOT_CLOUD_API_URL,
556
+ COPILOT_CLOUD_CHAT_URL,
557
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
558
+ COPILOT_CLOUD_VERSION,
542
559
  EXCLUDE_FROM_FORWARD_PROPS_KEYS,
543
560
  StreamStringPrefixes,
544
561
  actionToChatCompletionFunction,