@copilotkit/react-core 0.38.0-mme-alpha.1 → 1.0.0-beta.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 (87) hide show
  1. package/.turbo/turbo-build.log +104 -104
  2. package/CHANGELOG.md +15 -12
  3. package/dist/{chunk-IBOL6LE5.mjs → chunk-7GPIOOXB.mjs} +2 -2
  4. package/dist/{chunk-4V7S4R7X.mjs → chunk-CNZ5UL7A.mjs} +15 -10
  5. package/dist/chunk-CNZ5UL7A.mjs.map +1 -0
  6. package/dist/{chunk-4HP6NKA6.mjs → chunk-CRJMMLMP.mjs} +4 -4
  7. package/dist/{chunk-GFQBAEJL.mjs → chunk-IQCLNCGL.mjs} +2 -2
  8. package/dist/{chunk-GLPZSBNA.mjs → chunk-K6EV2CNB.mjs} +1 -1
  9. package/dist/chunk-K6EV2CNB.mjs.map +1 -0
  10. package/dist/{chunk-MI7BERU7.mjs → chunk-LZVHW3T3.mjs} +2 -2
  11. package/dist/{chunk-FY3TQ7Q6.mjs → chunk-MUDJGRUJ.mjs} +6 -6
  12. package/dist/{chunk-FY3TQ7Q6.mjs.map → chunk-MUDJGRUJ.mjs.map} +1 -1
  13. package/dist/{chunk-ATWK243A.mjs → chunk-QNJQKKD4.mjs} +2 -2
  14. package/dist/{chunk-3H7FWH56.mjs → chunk-S357AOAD.mjs} +19 -13
  15. package/dist/chunk-S357AOAD.mjs.map +1 -0
  16. package/dist/{chunk-5Q7DU3XW.mjs → chunk-YHSPQREP.mjs} +17 -10
  17. package/dist/chunk-YHSPQREP.mjs.map +1 -0
  18. package/dist/{chunk-WTGFKR3D.mjs → chunk-YM2JV2YQ.mjs} +2 -2
  19. package/dist/components/copilot-provider/copilotkit-props.d.ts +2 -2
  20. package/dist/components/copilot-provider/copilotkit-props.js.map +1 -1
  21. package/dist/components/copilot-provider/copilotkit.js +1 -1
  22. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  23. package/dist/components/copilot-provider/copilotkit.mjs +3 -3
  24. package/dist/components/copilot-provider/index.js +1 -1
  25. package/dist/components/copilot-provider/index.js.map +1 -1
  26. package/dist/components/copilot-provider/index.mjs +3 -3
  27. package/dist/components/index.js +1 -1
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/index.mjs +3 -3
  30. package/dist/context/copilot-context.d.ts +2 -13
  31. package/dist/context/copilot-context.js.map +1 -1
  32. package/dist/context/copilot-context.mjs +1 -1
  33. package/dist/context/index.js.map +1 -1
  34. package/dist/context/index.mjs +1 -1
  35. package/dist/hooks/index.js +15 -11
  36. package/dist/hooks/index.js.map +1 -1
  37. package/dist/hooks/index.mjs +12 -12
  38. package/dist/hooks/use-chat.js +18 -11
  39. package/dist/hooks/use-chat.js.map +1 -1
  40. package/dist/hooks/use-chat.mjs +1 -1
  41. package/dist/hooks/use-copilot-action.js.map +1 -1
  42. package/dist/hooks/use-copilot-action.mjs +2 -2
  43. package/dist/hooks/use-copilot-chat.js +15 -11
  44. package/dist/hooks/use-copilot-chat.js.map +1 -1
  45. package/dist/hooks/use-copilot-chat.mjs +5 -5
  46. package/dist/hooks/use-copilot-readable.js.map +1 -1
  47. package/dist/hooks/use-copilot-readable.mjs +2 -2
  48. package/dist/hooks/use-make-copilot-actionable.js.map +1 -1
  49. package/dist/hooks/use-make-copilot-actionable.mjs +2 -2
  50. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  51. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  52. package/dist/hooks/use-make-copilot-readable.js.map +1 -1
  53. package/dist/hooks/use-make-copilot-readable.mjs +2 -2
  54. package/dist/index.js +40 -26
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.mjs +15 -15
  57. package/dist/lib/copilot-task.js +13 -7
  58. package/dist/lib/copilot-task.js.map +1 -1
  59. package/dist/lib/copilot-task.mjs +4 -4
  60. package/dist/lib/index.js +13 -7
  61. package/dist/lib/index.js.map +1 -1
  62. package/dist/lib/index.mjs +4 -4
  63. package/dist/utils/extract.d.ts +3 -2
  64. package/dist/utils/extract.js +11 -7
  65. package/dist/utils/extract.js.map +1 -1
  66. package/dist/utils/extract.mjs +4 -4
  67. package/dist/utils/index.d.ts +1 -1
  68. package/dist/utils/index.js +11 -7
  69. package/dist/utils/index.js.map +1 -1
  70. package/dist/utils/index.mjs +4 -4
  71. package/package.json +6 -5
  72. package/src/components/copilot-provider/copilotkit-props.tsx +2 -2
  73. package/src/components/copilot-provider/copilotkit.tsx +1 -4
  74. package/src/context/copilot-context.tsx +2 -14
  75. package/src/hooks/use-chat.ts +21 -36
  76. package/src/lib/copilot-task.ts +14 -7
  77. package/src/utils/extract.ts +11 -5
  78. package/dist/chunk-3H7FWH56.mjs.map +0 -1
  79. package/dist/chunk-4V7S4R7X.mjs.map +0 -1
  80. package/dist/chunk-5Q7DU3XW.mjs.map +0 -1
  81. package/dist/chunk-GLPZSBNA.mjs.map +0 -1
  82. /package/dist/{chunk-IBOL6LE5.mjs.map → chunk-7GPIOOXB.mjs.map} +0 -0
  83. /package/dist/{chunk-4HP6NKA6.mjs.map → chunk-CRJMMLMP.mjs.map} +0 -0
  84. /package/dist/{chunk-GFQBAEJL.mjs.map → chunk-IQCLNCGL.mjs.map} +0 -0
  85. /package/dist/{chunk-MI7BERU7.mjs.map → chunk-LZVHW3T3.mjs.map} +0 -0
  86. /package/dist/{chunk-ATWK243A.mjs.map → chunk-QNJQKKD4.mjs.map} +0 -0
  87. /package/dist/{chunk-WTGFKR3D.mjs.map → chunk-YM2JV2YQ.mjs.map} +0 -0
@@ -1,8 +1,8 @@
1
1
 
2
- > @copilotkit/react-core@0.38.0-mme-alpha.1 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-core
2
+ > @copilotkit/react-core@1.0.0-beta.1 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-core
3
3
  > tsup --clean
4
4
 
5
- CLI Building entry: src/index.tsx, src/components/index.ts, src/context/copilot-context.tsx, src/context/index.ts, src/hooks/index.ts, src/hooks/use-chat.ts, src/hooks/use-copilot-action.ts, src/hooks/use-copilot-chat.ts, src/hooks/use-copilot-readable.ts, src/hooks/use-flat-category-store.ts, src/hooks/use-make-copilot-actionable.ts, src/hooks/use-make-copilot-document-readable.ts, src/hooks/use-make-copilot-readable.ts, src/hooks/use-tree.ts, src/lib/copilot-task.ts, src/lib/index.ts, src/types/chat-suggestion-configuration.ts, src/types/document-pointer.ts, src/types/frontend-action.ts, src/types/index.ts, src/types/system-message.ts, src/utils/extract.ts, src/utils/index.ts, src/utils/utils.test.ts, src/utils/utils.ts, src/components/copilot-provider/copilotkit-props.tsx, src/components/copilot-provider/copilotkit.tsx, src/components/copilot-provider/index.ts
5
+ CLI Building entry: src/index.tsx, src/components/index.ts, src/hooks/index.ts, src/hooks/use-chat.ts, src/hooks/use-copilot-action.ts, src/hooks/use-copilot-chat.ts, src/hooks/use-copilot-readable.ts, src/hooks/use-flat-category-store.ts, src/hooks/use-make-copilot-actionable.ts, src/hooks/use-make-copilot-document-readable.ts, src/hooks/use-make-copilot-readable.ts, src/hooks/use-tree.ts, src/context/copilot-context.tsx, src/context/index.ts, src/lib/copilot-task.ts, src/lib/index.ts, src/types/chat-suggestion-configuration.ts, src/types/document-pointer.ts, src/types/frontend-action.ts, src/types/index.ts, src/types/system-message.ts, src/utils/extract.ts, src/utils/index.ts, src/utils/utils.test.ts, src/utils/utils.ts, src/components/copilot-provider/copilotkit-props.tsx, src/components/copilot-provider/copilotkit.tsx, src/components/copilot-provider/index.ts
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v6.7.0
8
8
  CLI Using tsup config: /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-core/tsup.config.ts
@@ -10,40 +10,96 @@
10
10
  CLI Cleaning output folder
11
11
  ESM Build start
12
12
  CJS Build start
13
+ CJS dist/context/copilot-context.js 3.90 KB
14
+ CJS dist/lib/copilot-task.js 5.60 KB
15
+ CJS dist/types/chat-suggestion-configuration.js 893.00 B
16
+ CJS dist/utils/extract.js 6.85 KB
17
+ CJS dist/components/copilot-provider/copilotkit-props.js 864.00 B
18
+ CJS dist/index.js 39.61 KB
19
+ CJS dist/components/index.js 16.47 KB
20
+ CJS dist/hooks/index.js 19.76 KB
21
+ CJS dist/hooks/use-chat.js 9.36 KB
22
+ CJS dist/hooks/use-copilot-action.js 5.16 KB
23
+ CJS dist/hooks/use-copilot-chat.js 15.21 KB
24
+ CJS dist/hooks/use-copilot-readable.js 4.61 KB
25
+ CJS dist/hooks/use-flat-category-store.js 2.87 KB
26
+ CJS dist/hooks/use-make-copilot-actionable.js 4.85 KB
27
+ CJS dist/hooks/use-make-copilot-document-readable.js 4.50 KB
28
+ CJS dist/hooks/use-make-copilot-readable.js 4.38 KB
29
+ CJS dist/hooks/use-tree.js 5.53 KB
30
+ CJS dist/context/index.js 3.89 KB
31
+ CJS dist/lib/index.js 5.58 KB
32
+ CJS dist/types/document-pointer.js 841.00 B
33
+ CJS dist/types/frontend-action.js 837.00 B
34
+ CJS dist/types/index.js 797.00 B
35
+ CJS dist/types/system-message.js 833.00 B
36
+ CJS dist/utils/index.js 6.87 KB
37
+ CJS dist/utils/utils.test.js 184.00 B
38
+ CJS dist/utils/utils.js 797.00 B
39
+ CJS dist/components/copilot-provider/copilotkit.js 16.45 KB
40
+ CJS dist/components/copilot-provider/index.js 16.51 KB
41
+ CJS dist/context/copilot-context.js.map 6.31 KB
42
+ CJS dist/lib/copilot-task.js.map 17.01 KB
43
+ CJS dist/types/chat-suggestion-configuration.js.map 673.00 B
44
+ CJS dist/utils/extract.js.map 15.38 KB
45
+ CJS dist/components/copilot-provider/copilotkit-props.js.map 1.75 KB
46
+ CJS dist/index.js.map 80.69 KB
47
+ CJS dist/components/index.js.map 29.79 KB
48
+ CJS dist/hooks/use-chat.js.map 13.33 KB
49
+ CJS dist/hooks/index.js.map 48.51 KB
50
+ CJS dist/hooks/use-copilot-action.js.map 10.42 KB
51
+ CJS dist/hooks/use-copilot-readable.js.map 11.35 KB
52
+ CJS dist/hooks/use-copilot-chat.js.map 34.41 KB
53
+ CJS dist/hooks/use-flat-category-store.js.map 4.25 KB
54
+ CJS dist/hooks/use-make-copilot-document-readable.js.map 7.60 KB
55
+ CJS dist/hooks/use-make-copilot-actionable.js.map 8.03 KB
56
+ CJS dist/hooks/use-make-copilot-readable.js.map 7.29 KB
57
+ CJS dist/hooks/use-tree.js.map 8.32 KB
58
+ CJS dist/context/index.js.map 6.54 KB
59
+ CJS dist/types/document-pointer.js.map 292.00 B
60
+ CJS dist/types/frontend-action.js.map 1.77 KB
61
+ CJS dist/lib/index.js.map 17.07 KB
62
+ CJS dist/types/index.js.map 432.00 B
63
+ CJS dist/types/system-message.js.map 249.00 B
64
+ CJS dist/utils/index.js.map 15.45 KB
65
+ CJS dist/utils/utils.test.js.map 354.00 B
66
+ CJS dist/utils/utils.js.map 137.00 B
67
+ CJS dist/components/copilot-provider/copilotkit.js.map 29.73 KB
68
+ CJS dist/components/copilot-provider/index.js.map 29.92 KB
69
+ CJS ⚡️ Build success in 90ms
13
70
  ESM dist/index.mjs 1.28 KB
14
71
  ESM dist/components/index.mjs 375.00 B
15
- ESM dist/context/copilot-context.mjs 205.00 B
16
72
  ESM dist/hooks/index.mjs 869.00 B
17
73
  ESM dist/chunk-EFZPSZWO.mjs 43.00 B
18
74
  ESM dist/chunk-YJLRG5U3.mjs 43.00 B
19
- ESM dist/chunk-4V7S4R7X.mjs 4.33 KB
20
- ESM dist/chunk-LUGEI4YQ.mjs 43.00 B
21
- ESM dist/chunk-5Q7DU3XW.mjs 3.64 KB
22
- ESM dist/context/index.mjs 227.00 B
75
+ ESM dist/chunk-CNZ5UL7A.mjs 4.51 KB
23
76
  ESM dist/chunk-VNRDQJXW.mjs 43.00 B
77
+ ESM dist/chunk-LUGEI4YQ.mjs 43.00 B
78
+ ESM dist/chunk-YHSPQREP.mjs 3.84 KB
24
79
  ESM dist/chunk-EYKDJBDE.mjs 43.00 B
25
- ESM dist/chunk-WTGFKR3D.mjs 909.00 B
26
- ESM dist/chunk-GFQBAEJL.mjs 1.04 KB
27
- ESM dist/chunk-IBOL6LE5.mjs 700.00 B
28
- ESM dist/chunk-ATWK243A.mjs 640.00 B
80
+ ESM dist/chunk-IQCLNCGL.mjs 1.04 KB
81
+ ESM dist/chunk-7GPIOOXB.mjs 700.00 B
82
+ ESM dist/chunk-QNJQKKD4.mjs 640.00 B
29
83
  ESM dist/hooks/use-chat.mjs 142.00 B
30
84
  ESM dist/hooks/use-copilot-action.mjs 202.00 B
31
- ESM dist/chunk-MI7BERU7.mjs 1.42 KB
85
+ ESM dist/chunk-LZVHW3T3.mjs 1.42 KB
32
86
  ESM dist/hooks/use-copilot-chat.mjs 436.00 B
33
- ESM dist/chunk-4HP6NKA6.mjs 3.12 KB
87
+ ESM dist/chunk-CRJMMLMP.mjs 3.12 KB
34
88
  ESM dist/chunk-JD7BAH7U.mjs 43.00 B
35
89
  ESM dist/chunk-SPCZTZCY.mjs 43.00 B
36
- ESM dist/chunk-FY3TQ7Q6.mjs 5.76 KB
37
- ESM dist/chunk-YULKJPY3.mjs 1.84 KB
90
+ ESM dist/chunk-MUDJGRUJ.mjs 5.72 KB
38
91
  ESM dist/chunk-YWITCRBI.mjs 3.89 KB
39
- ESM dist/chunk-3H7FWH56.mjs 6.56 KB
40
- ESM dist/chunk-GLPZSBNA.mjs 1.72 KB
92
+ ESM dist/chunk-S357AOAD.mjs 6.93 KB
93
+ ESM dist/hooks/use-copilot-readable.mjs 208.00 B
94
+ ESM dist/chunk-YM2JV2YQ.mjs 909.00 B
95
+ ESM dist/chunk-K6EV2CNB.mjs 1.72 KB
96
+ ESM dist/hooks/use-flat-category-store.mjs 216.00 B
97
+ ESM dist/chunk-YULKJPY3.mjs 1.84 KB
41
98
  ESM dist/chunk-SKC7AJIV.mjs 1.97 KB
42
99
  ESM dist/utils/utils.mjs 34.00 B
43
100
  ESM dist/components/copilot-provider/copilotkit-props.mjs 45.00 B
44
- ESM dist/types/chat-suggestion-configuration.mjs 58.00 B
45
- ESM dist/lib/copilot-task.mjs 346.00 B
46
101
  ESM dist/components/copilot-provider/copilotkit.mjs 331.00 B
102
+ ESM dist/types/chat-suggestion-configuration.mjs 58.00 B
47
103
  ESM dist/components/copilot-provider/index.mjs 361.00 B
48
104
  ESM dist/types/document-pointer.mjs 45.00 B
49
105
  ESM dist/types/frontend-action.mjs 44.00 B
@@ -52,126 +108,70 @@
52
108
  ESM dist/utils/extract.mjs 333.00 B
53
109
  ESM dist/utils/index.mjs 363.00 B
54
110
  ESM dist/utils/utils.test.mjs 170.00 B
55
- ESM dist/hooks/use-copilot-readable.mjs 208.00 B
56
- ESM dist/hooks/use-flat-category-store.mjs 216.00 B
57
111
  ESM dist/hooks/use-make-copilot-actionable.mjs 227.00 B
58
112
  ESM dist/hooks/use-make-copilot-document-readable.mjs 246.00 B
59
113
  ESM dist/hooks/use-make-copilot-readable.mjs 221.00 B
60
114
  ESM dist/hooks/use-tree.mjs 171.00 B
115
+ ESM dist/context/copilot-context.mjs 205.00 B
116
+ ESM dist/context/index.mjs 227.00 B
117
+ ESM dist/lib/copilot-task.mjs 346.00 B
61
118
  ESM dist/lib/index.mjs 371.00 B
62
119
  ESM dist/index.mjs.map 71.00 B
63
120
  ESM dist/components/index.mjs.map 71.00 B
64
- ESM dist/context/copilot-context.mjs.map 71.00 B
65
121
  ESM dist/hooks/index.mjs.map 71.00 B
66
122
  ESM dist/chunk-EFZPSZWO.mjs.map 71.00 B
67
123
  ESM dist/chunk-YJLRG5U3.mjs.map 71.00 B
68
- ESM dist/chunk-4V7S4R7X.mjs.map 7.31 KB
69
- ESM dist/chunk-LUGEI4YQ.mjs.map 71.00 B
70
- ESM dist/chunk-5Q7DU3XW.mjs.map 8.99 KB
71
- ESM dist/context/index.mjs.map 71.00 B
124
+ ESM dist/chunk-CNZ5UL7A.mjs.map 7.64 KB
72
125
  ESM dist/chunk-VNRDQJXW.mjs.map 71.00 B
126
+ ESM dist/chunk-LUGEI4YQ.mjs.map 71.00 B
127
+ ESM dist/chunk-YHSPQREP.mjs.map 9.30 KB
73
128
  ESM dist/chunk-EYKDJBDE.mjs.map 71.00 B
74
- ESM dist/chunk-WTGFKR3D.mjs.map 5.15 KB
75
- ESM dist/chunk-GFQBAEJL.mjs.map 1.84 KB
76
- ESM dist/chunk-IBOL6LE5.mjs.map 1.40 KB
77
- ESM dist/chunk-ATWK243A.mjs.map 1.08 KB
129
+ ESM dist/chunk-IQCLNCGL.mjs.map 1.84 KB
130
+ ESM dist/chunk-7GPIOOXB.mjs.map 1.40 KB
131
+ ESM dist/chunk-QNJQKKD4.mjs.map 1.08 KB
78
132
  ESM dist/hooks/use-chat.mjs.map 71.00 B
79
133
  ESM dist/hooks/use-copilot-action.mjs.map 71.00 B
80
- ESM dist/chunk-MI7BERU7.mjs.map 4.22 KB
134
+ ESM dist/chunk-LZVHW3T3.mjs.map 4.22 KB
81
135
  ESM dist/hooks/use-copilot-chat.mjs.map 71.00 B
82
- ESM dist/chunk-4HP6NKA6.mjs.map 7.22 KB
136
+ ESM dist/chunk-CRJMMLMP.mjs.map 7.22 KB
83
137
  ESM dist/chunk-JD7BAH7U.mjs.map 71.00 B
84
138
  ESM dist/chunk-SPCZTZCY.mjs.map 71.00 B
85
- ESM dist/chunk-FY3TQ7Q6.mjs.map 11.12 KB
86
- ESM dist/chunk-YULKJPY3.mjs.map 4.21 KB
139
+ ESM dist/chunk-MUDJGRUJ.mjs.map 11.08 KB
87
140
  ESM dist/chunk-YWITCRBI.mjs.map 8.27 KB
88
- ESM dist/chunk-3H7FWH56.mjs.map 13.57 KB
89
- ESM dist/chunk-GLPZSBNA.mjs.map 6.47 KB
141
+ ESM dist/chunk-S357AOAD.mjs.map 13.37 KB
142
+ ESM dist/hooks/use-copilot-readable.mjs.map 71.00 B
143
+ ESM dist/chunk-YM2JV2YQ.mjs.map 5.15 KB
144
+ ESM dist/chunk-K6EV2CNB.mjs.map 6.22 KB
145
+ ESM dist/hooks/use-flat-category-store.mjs.map 71.00 B
146
+ ESM dist/chunk-YULKJPY3.mjs.map 4.21 KB
90
147
  ESM dist/chunk-SKC7AJIV.mjs.map 71.00 B
91
148
  ESM dist/utils/utils.mjs.map 71.00 B
92
149
  ESM dist/components/copilot-provider/copilotkit-props.mjs.map 71.00 B
93
- ESM dist/types/chat-suggestion-configuration.mjs.map 71.00 B
94
- ESM dist/lib/copilot-task.mjs.map 71.00 B
95
150
  ESM dist/components/copilot-provider/copilotkit.mjs.map 71.00 B
96
- ESM dist/components/copilot-provider/index.mjs.map 71.00 B
151
+ ESM dist/types/chat-suggestion-configuration.mjs.map 71.00 B
97
152
  ESM dist/types/document-pointer.mjs.map 71.00 B
153
+ ESM dist/components/copilot-provider/index.mjs.map 71.00 B
98
154
  ESM dist/types/frontend-action.mjs.map 71.00 B
99
155
  ESM dist/types/index.mjs.map 71.00 B
100
156
  ESM dist/types/system-message.mjs.map 71.00 B
101
157
  ESM dist/utils/extract.mjs.map 71.00 B
102
158
  ESM dist/utils/index.mjs.map 71.00 B
103
159
  ESM dist/utils/utils.test.mjs.map 352.00 B
104
- ESM dist/hooks/use-copilot-readable.mjs.map 71.00 B
105
- ESM dist/hooks/use-flat-category-store.mjs.map 71.00 B
106
160
  ESM dist/hooks/use-make-copilot-actionable.mjs.map 71.00 B
107
161
  ESM dist/hooks/use-make-copilot-document-readable.mjs.map 71.00 B
108
162
  ESM dist/hooks/use-make-copilot-readable.mjs.map 71.00 B
163
+ ESM dist/context/copilot-context.mjs.map 71.00 B
109
164
  ESM dist/hooks/use-tree.mjs.map 71.00 B
165
+ ESM dist/lib/copilot-task.mjs.map 71.00 B
166
+ ESM dist/context/index.mjs.map 71.00 B
110
167
  ESM dist/lib/index.mjs.map 71.00 B
111
- ESM ⚡️ Build success in 106ms
112
- CJS dist/index.js 38.90 KB
113
- CJS dist/components/index.js 16.51 KB
114
- CJS dist/context/copilot-context.js 3.90 KB
115
- CJS dist/context/index.js 3.89 KB
116
- CJS dist/hooks/index.js 19.40 KB
117
- CJS dist/hooks/use-chat.js 8.83 KB
118
- CJS dist/hooks/use-copilot-action.js 5.16 KB
119
- CJS dist/hooks/use-copilot-chat.js 14.85 KB
120
- CJS dist/hooks/use-copilot-readable.js 4.61 KB
121
- CJS dist/hooks/use-flat-category-store.js 2.87 KB
122
- CJS dist/hooks/use-make-copilot-actionable.js 4.85 KB
123
- CJS dist/hooks/use-make-copilot-document-readable.js 4.50 KB
124
- CJS dist/hooks/use-make-copilot-readable.js 4.38 KB
125
- CJS dist/hooks/use-tree.js 5.53 KB
126
- CJS dist/lib/copilot-task.js 5.39 KB
127
- CJS dist/lib/index.js 5.38 KB
128
- CJS dist/types/chat-suggestion-configuration.js 893.00 B
129
- CJS dist/types/document-pointer.js 841.00 B
130
- CJS dist/types/frontend-action.js 837.00 B
131
- CJS dist/types/index.js 797.00 B
132
- CJS dist/types/system-message.js 833.00 B
133
- CJS dist/utils/extract.js 6.67 KB
134
- CJS dist/utils/index.js 6.69 KB
135
- CJS dist/utils/utils.test.js 184.00 B
136
- CJS dist/utils/utils.js 797.00 B
137
- CJS dist/components/copilot-provider/copilotkit-props.js 864.00 B
138
- CJS dist/components/copilot-provider/copilotkit.js 16.49 KB
139
- CJS dist/components/copilot-provider/index.js 16.55 KB
140
- CJS dist/components/index.js.map 30.07 KB
141
- CJS dist/index.js.map 80.56 KB
142
- CJS dist/context/copilot-context.js.map 6.56 KB
143
- CJS dist/context/index.js.map 6.79 KB
144
- CJS dist/hooks/index.js.map 49.00 KB
145
- CJS dist/hooks/use-chat.js.map 13.54 KB
146
- CJS dist/hooks/use-copilot-action.js.map 10.67 KB
147
- CJS dist/hooks/use-copilot-chat.js.map 34.90 KB
148
- CJS dist/hooks/use-copilot-readable.js.map 11.60 KB
149
- CJS dist/hooks/use-flat-category-store.js.map 4.25 KB
150
- CJS dist/hooks/use-make-copilot-actionable.js.map 8.28 KB
151
- CJS dist/hooks/use-make-copilot-document-readable.js.map 7.85 KB
152
- CJS dist/hooks/use-tree.js.map 8.32 KB
153
- CJS dist/hooks/use-make-copilot-readable.js.map 7.53 KB
154
- CJS dist/lib/copilot-task.js.map 16.73 KB
155
- CJS dist/lib/index.js.map 16.80 KB
156
- CJS dist/types/chat-suggestion-configuration.js.map 673.00 B
157
- CJS dist/types/document-pointer.js.map 292.00 B
158
- CJS dist/types/index.js.map 432.00 B
159
- CJS dist/types/frontend-action.js.map 1.77 KB
160
- CJS dist/types/system-message.js.map 249.00 B
161
- CJS dist/utils/extract.js.map 15.10 KB
162
- CJS dist/utils/index.js.map 15.17 KB
163
- CJS dist/utils/utils.test.js.map 354.00 B
164
- CJS dist/utils/utils.js.map 137.00 B
165
- CJS dist/components/copilot-provider/copilotkit-props.js.map 1.80 KB
166
- CJS dist/components/copilot-provider/copilotkit.js.map 30.01 KB
167
- CJS dist/components/copilot-provider/index.js.map 30.21 KB
168
- CJS ⚡️ Build success in 109ms
168
+ ESM ⚡️ Build success in 95ms
169
169
  DTS Build start
170
- DTS ⚡️ Build success in 5089ms
170
+ DTS ⚡️ Build success in 4940ms
171
171
  DTS dist/index.d.ts 1.38 KB
172
172
  DTS dist/components/copilot-provider/copilotkit.d.ts 271.00 B
173
- DTS dist/components/copilot-provider/copilotkit-props.d.ts 1.70 KB
174
- DTS dist/context/copilot-context.d.ts 3.67 KB
173
+ DTS dist/components/copilot-provider/copilotkit-props.d.ts 1.66 KB
174
+ DTS dist/context/copilot-context.d.ts 3.42 KB
175
175
  DTS dist/hooks/use-copilot-chat.d.ts 1.64 KB
176
176
  DTS dist/hooks/use-make-copilot-actionable.d.ts 309.00 B
177
177
  DTS dist/hooks/use-copilot-action.d.ts 286.00 B
@@ -184,12 +184,12 @@
184
184
  DTS dist/types/frontend-action.d.ts 1.62 KB
185
185
  DTS dist/types/chat-suggestion-configuration.d.ts 575.00 B
186
186
  DTS dist/lib/copilot-task.d.ts 4.00 KB
187
- DTS dist/utils/extract.d.ts 1.36 KB
187
+ DTS dist/utils/extract.d.ts 1.44 KB
188
188
  DTS dist/hooks/use-tree.d.ts 543.00 B
189
189
  DTS dist/components/index.d.ts 186.00 B
190
- DTS dist/context/index.d.ts 360.00 B
191
190
  DTS dist/hooks/index.d.ts 829.00 B
192
191
  DTS dist/hooks/use-flat-category-store.d.ts 424.00 B
192
+ DTS dist/context/index.d.ts 360.00 B
193
193
  DTS dist/lib/index.d.ts 354.00 B
194
194
  DTS dist/types/index.d.ts 332.00 B
195
195
  DTS dist/utils/index.d.ts 326.00 B
package/CHANGELOG.md CHANGED
@@ -1,28 +1,31 @@
1
1
  # ui
2
2
 
3
- ## 0.38.0-mme-alpha.1
4
-
5
- ### Minor Changes
6
-
7
- - Fix: Missing server action results
3
+ ## 1.0.0-beta.1
8
4
 
9
5
  ### Patch Changes
10
6
 
7
+ - Introduce anonymous telemetry
11
8
  - Updated dependencies
12
- - @copilotkit/runtime-client-gql@0.38.0-mme-alpha.1
13
- - @copilotkit/shared@0.38.0-mme-alpha.1
9
+ - @copilotkit/runtime-client-gql@1.0.0-beta.1
10
+ - @copilotkit/shared@1.0.0-beta.1
14
11
 
15
- ## 0.38.0-mme-alpha.0
12
+ ## 1.0.0-beta.0
16
13
 
17
- ### Minor Changes
14
+ ### Major Changes
15
+
16
+ - V1.0 Release Candidate
18
17
 
19
- - GraphQL based protocol
18
+ - A robust new protocol between the frontend and the Copilot Runtime
19
+ - Support for Copilot Cloud
20
+ - Generative UI
21
+ - Support for LangChain universal tool calling
22
+ - OpenAI assistant API streaming
20
23
 
21
24
  ### Patch Changes
22
25
 
23
26
  - Updated dependencies
24
- - @copilotkit/runtime-client-gql@0.38.0-mme-alpha.0
25
- - @copilotkit/shared@0.38.0-mme-alpha.0
27
+ - @copilotkit/runtime-client-gql@1.0.0-beta.0
28
+ - @copilotkit/shared@1.0.0-beta.0
26
29
 
27
30
  ## 0.37.0
28
31
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotContext
3
- } from "./chunk-GLPZSBNA.mjs";
3
+ } from "./chunk-K6EV2CNB.mjs";
4
4
 
5
5
  // src/hooks/use-make-copilot-document-readable.ts
6
6
  import { useContext, useEffect, useRef } from "react";
@@ -20,4 +20,4 @@ function useMakeCopilotDocumentReadable(document, categories, dependencies = [])
20
20
  export {
21
21
  useMakeCopilotDocumentReadable
22
22
  };
23
- //# sourceMappingURL=chunk-IBOL6LE5.mjs.map
23
+ //# sourceMappingURL=chunk-7GPIOOXB.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defaultCopilotContextCategories
3
- } from "./chunk-FY3TQ7Q6.mjs";
3
+ } from "./chunk-MUDJGRUJ.mjs";
4
4
  import {
5
5
  __async,
6
6
  __spreadValues
@@ -15,7 +15,8 @@ import {
15
15
  ActionExecutionMessage,
16
16
  Role,
17
17
  TextMessage,
18
- convertGqlOutputToMessages
18
+ convertGqlOutputToMessages,
19
+ CopilotRequestType
19
20
  } from "@copilotkit/runtime-client-gql";
20
21
  import { CopilotRuntimeClient } from "@copilotkit/runtime-client-gql";
21
22
  import { convertMessagesToGqlInput } from "@copilotkit/runtime-client-gql";
@@ -27,7 +28,8 @@ function extract(_0) {
27
28
  include,
28
29
  data,
29
30
  abortSignal,
30
- stream
31
+ stream,
32
+ requestType = CopilotRequestType.Task
31
33
  }) {
32
34
  var _a, _b;
33
35
  const { messages } = context;
@@ -57,8 +59,8 @@ function extract(_0) {
57
59
  headers
58
60
  });
59
61
  const response = CopilotRuntimeClient.asStream(
60
- runtimeClient.generateCopilotResponse(
61
- {
62
+ runtimeClient.generateCopilotResponse({
63
+ data: {
62
64
  frontend: {
63
65
  actions: [
64
66
  {
@@ -70,11 +72,14 @@ function extract(_0) {
70
72
  },
71
73
  messages: convertMessagesToGqlInput(
72
74
  includeMessages ? [systemMessage, ...messages] : [systemMessage]
73
- )
75
+ ),
76
+ metadata: {
77
+ requestType
78
+ }
74
79
  },
75
- void 0,
76
- abortSignal
77
- )
80
+ properties: context.copilotApiConfig.properties,
81
+ signal: abortSignal
82
+ })
78
83
  );
79
84
  const reader = response.getReader();
80
85
  let isInitial = true;
@@ -137,4 +142,4 @@ Any additional messages provided are for providing context only and should not b
137
142
  export {
138
143
  extract
139
144
  };
140
- //# sourceMappingURL=chunk-4V7S4R7X.mjs.map
145
+ //# sourceMappingURL=chunk-CNZ5UL7A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/extract.ts"],"sourcesContent":["import {\n Action,\n COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,\n MappedParameterTypes,\n Parameter,\n actionParametersToJsonSchema,\n} from \"@copilotkit/shared\";\nimport {\n ActionExecutionMessage,\n Message,\n Role,\n TextMessage,\n convertGqlOutputToMessages,\n CopilotRequestType,\n} from \"@copilotkit/runtime-client-gql\";\nimport { CopilotContextParams } from \"../context\";\nimport { defaultCopilotContextCategories } from \"../components\";\nimport { CopilotRuntimeClient } from \"@copilotkit/runtime-client-gql\";\nimport { convertMessagesToGqlInput } from \"@copilotkit/runtime-client-gql\";\n\ninterface InitialState<T extends Parameter[] | [] = []> {\n status: \"initial\";\n args: Partial<MappedParameterTypes<T>>;\n}\n\ninterface InProgressState<T extends Parameter[] | [] = []> {\n status: \"inProgress\";\n args: Partial<MappedParameterTypes<T>>;\n}\n\ninterface CompleteState<T extends Parameter[] | [] = []> {\n status: \"complete\";\n args: MappedParameterTypes<T>;\n}\n\ntype StreamHandlerArgs<T extends Parameter[] | [] = []> =\n | InitialState<T>\n | InProgressState<T>\n | CompleteState<T>;\n\ninterface ExtractOptions<T extends Parameter[]> {\n context: CopilotContextParams;\n instructions: string;\n parameters: T;\n include?: IncludeOptions;\n data?: any;\n abortSignal?: AbortSignal;\n stream?: (args: StreamHandlerArgs<T>) => void;\n requestType?: CopilotRequestType;\n}\n\ninterface IncludeOptions {\n readable?: boolean;\n messages?: boolean;\n}\n\nexport async function extract<const T extends Parameter[]>({\n context,\n instructions,\n parameters,\n include,\n data,\n abortSignal,\n stream,\n requestType = CopilotRequestType.Task,\n}: ExtractOptions<T>): Promise<MappedParameterTypes<T>> {\n const { messages } = context;\n\n const action: Action<any> = {\n name: \"extract\",\n parameters,\n handler: (args: any) => {},\n };\n\n const includeReadable = include?.readable ?? false;\n const includeMessages = include?.messages ?? false;\n\n let contextString = \"\";\n\n if (data) {\n contextString = (typeof data === \"string\" ? data : JSON.stringify(data)) + \"\\n\\n\";\n }\n\n if (includeReadable) {\n contextString += context.getContextString([], defaultCopilotContextCategories);\n }\n\n const systemMessage: Message = new TextMessage({\n content: makeSystemMessage(contextString, instructions),\n role: Role.System,\n });\n\n const headers = {\n ...(context.copilotApiConfig.headers || {}),\n ...(context.copilotApiConfig.publicApiKey\n ? { [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: context.copilotApiConfig.publicApiKey }\n : {}),\n };\n\n const runtimeClient = new CopilotRuntimeClient({\n url: context.copilotApiConfig.chatApiEndpoint,\n publicApiKey: context.copilotApiConfig.publicApiKey,\n headers,\n });\n\n const response = CopilotRuntimeClient.asStream(\n runtimeClient.generateCopilotResponse({\n data: {\n frontend: {\n actions: [\n {\n name: action.name,\n description: action.description || \"\",\n jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters || [])),\n },\n ],\n },\n\n messages: convertMessagesToGqlInput(\n includeMessages ? [systemMessage, ...messages] : [systemMessage],\n ),\n metadata: {\n requestType: requestType,\n },\n },\n properties: context.copilotApiConfig.properties,\n signal: abortSignal,\n }),\n );\n\n const reader = response.getReader();\n\n let isInitial = true;\n\n let actionExecutionMessage: ActionExecutionMessage | undefined = undefined;\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n break;\n }\n\n actionExecutionMessage = convertGqlOutputToMessages(\n value.generateCopilotResponse.messages,\n ).find((msg) => msg instanceof ActionExecutionMessage) as ActionExecutionMessage | undefined;\n\n if (!actionExecutionMessage) {\n continue;\n }\n\n stream?.({\n status: isInitial ? \"initial\" : \"inProgress\",\n args: actionExecutionMessage.arguments as Partial<MappedParameterTypes<T>>,\n });\n\n isInitial = false;\n }\n\n if (!actionExecutionMessage) {\n throw new Error(\"extract() failed: No function call occurred\");\n }\n\n stream?.({\n status: \"complete\",\n args: actionExecutionMessage.arguments as MappedParameterTypes<T>,\n });\n\n return actionExecutionMessage.arguments as MappedParameterTypes<T>;\n}\n\nfunction makeSystemMessage(contextString: string, instructions: string): string {\n return `\nPlease act as an efficient, competent, conscientious, and industrious professional assistant.\n\nHelp the user achieve their goals, and you do so in a way that is as efficient as possible, without unnecessary fluff, but also without sacrificing professionalism.\nAlways be polite and respectful, and prefer brevity over verbosity.\n\nThe user has provided you with the following context:\n\\`\\`\\`\n${contextString}\n\\`\\`\\`\n\nThey have also provided you with a function called extract you MUST call to initiate actions on their behalf.\n\nPlease assist them as best you can.\n\nThis is not a conversation, so please do not ask questions. Just call the function without saying anything else.\n\nThe user has given you the following task to complete:\n\n\\`\\`\\`\n${instructions}\n\\`\\`\\`\n\nAny additional messages provided are for providing context only and should not be used to ask questions or engage in conversation.\n`;\n}\n"],"mappings":"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","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  defaultCopilotContextCategories
3
- } from "./chunk-FY3TQ7Q6.mjs";
3
+ } from "./chunk-MUDJGRUJ.mjs";
4
4
  import {
5
5
  useChat
6
- } from "./chunk-3H7FWH56.mjs";
6
+ } from "./chunk-S357AOAD.mjs";
7
7
  import {
8
8
  CopilotContext
9
- } from "./chunk-GLPZSBNA.mjs";
9
+ } from "./chunk-K6EV2CNB.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadProps,
@@ -104,4 +104,4 @@ export {
104
104
  useCopilotChat,
105
105
  defaultSystemMessage
106
106
  };
107
- //# sourceMappingURL=chunk-4HP6NKA6.mjs.map
107
+ //# sourceMappingURL=chunk-CRJMMLMP.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotContext
3
- } from "./chunk-GLPZSBNA.mjs";
3
+ } from "./chunk-K6EV2CNB.mjs";
4
4
 
5
5
  // src/hooks/use-make-copilot-actionable.ts
6
6
  import { useRef, useContext, useEffect, useMemo } from "react";
@@ -30,4 +30,4 @@ function useMakeCopilotActionable(annotatedFunction, dependencies) {
30
30
  export {
31
31
  useMakeCopilotActionable
32
32
  };
33
- //# sourceMappingURL=chunk-GFQBAEJL.mjs.map
33
+ //# sourceMappingURL=chunk-IQCLNCGL.mjs.map
@@ -60,4 +60,4 @@ export {
60
60
  CopilotContext,
61
61
  useCopilotContext
62
62
  };
63
- //# sourceMappingURL=chunk-GLPZSBNA.mjs.map
63
+ //# sourceMappingURL=chunk-K6EV2CNB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/context/copilot-context.tsx"],"sourcesContent":["import { CopilotCloudConfig, FunctionCallHandler } from \"@copilotkit/shared\";\nimport { Message } from \"@copilotkit/runtime-client-gql\";\nimport { ActionRenderProps, FrontendAction } from \"../types/frontend-action\";\nimport React from \"react\";\nimport { TreeNodeId } from \"../hooks/use-tree\";\nimport { DocumentPointer } from \"../types\";\nimport { CopilotChatSuggestionConfiguration } from \"../types/chat-suggestion-configuration\";\n\n/**\n * Interface for the configuration of the Copilot API.\n */\nexport interface CopilotApiConfig {\n /**\n * The public API key for Copilot Cloud.\n */\n publicApiKey?: string;\n\n /**\n * The configuration for Copilot Cloud.\n */\n cloud?: CopilotCloudConfig;\n\n /**\n * The endpoint for the chat API.\n */\n chatApiEndpoint: string;\n\n /**\n * The endpoint for the Copilot transcribe audio service.\n */\n transcribeAudioUrl?: string;\n\n /**\n * The endpoint for the Copilot text to speech service.\n */\n textToSpeechUrl?: string;\n\n /**\n * The endpoint for the chat API v2.\n */\n chatApiEndpointV2: string;\n\n /**\n * additional headers to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'Authorization': 'Bearer your_token_here'\n * }\n * ```\n */\n headers: Record<string, string>;\n\n /**\n * Custom properties to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'user_id': 'user_id'\n * }\n * ```\n */\n properties?: Record<string, any>;\n\n /**\n * Indicates whether the user agent should send or receive cookies from the other domain\n * in the case of cross-origin requests.\n */\n credentials?: RequestCredentials;\n}\n\nexport type InChatRenderFunction = (props: ActionRenderProps<any>) => string | JSX.Element;\n\nexport interface CopilotContextParams {\n // function-calling\n actions: Record<string, FrontendAction<any>>;\n setAction: (id: string, action: FrontendAction<any>) => void;\n removeAction: (id: string) => void;\n chatComponentsCache: React.RefObject<Record<string, InChatRenderFunction | string>>;\n\n getFunctionCallHandler: (\n customEntryPoints?: Record<string, FrontendAction<any>>,\n ) => FunctionCallHandler;\n\n // text context\n addContext: (context: string, parentId?: string, categories?: string[]) => TreeNodeId;\n removeContext: (id: TreeNodeId) => void;\n getContextString: (documents: DocumentPointer[], categories: string[]) => string;\n\n // document context\n addDocumentContext: (documentPointer: DocumentPointer, categories?: string[]) => TreeNodeId;\n removeDocumentContext: (documentId: string) => void;\n getDocumentsContext: (categories: string[]) => DocumentPointer[];\n\n // chat\n messages: Message[];\n setMessages: React.Dispatch<React.SetStateAction<Message[]>>;\n\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n\n chatSuggestionConfiguration: { [key: string]: CopilotChatSuggestionConfiguration };\n addChatSuggestionConfiguration: (\n id: string,\n suggestion: CopilotChatSuggestionConfiguration,\n ) => void;\n removeChatSuggestionConfiguration: (id: string) => void;\n\n chatInstructions: string;\n setChatInstructions: React.Dispatch<React.SetStateAction<string>>;\n\n // api endpoints\n copilotApiConfig: CopilotApiConfig;\n}\n\nconst emptyCopilotContext: CopilotContextParams = {\n actions: {},\n setAction: () => {},\n removeAction: () => {},\n\n chatComponentsCache: { current: {} },\n getContextString: (documents: DocumentPointer[], categories: string[]) =>\n returnAndThrowInDebug(\"\"),\n addContext: () => \"\",\n removeContext: () => {},\n\n getFunctionCallHandler: () => returnAndThrowInDebug(async () => {}),\n\n messages: [],\n setMessages: () => returnAndThrowInDebug([]),\n\n isLoading: false,\n setIsLoading: () => returnAndThrowInDebug(false),\n\n chatInstructions: \"\",\n setChatInstructions: () => returnAndThrowInDebug(\"\"),\n\n getDocumentsContext: (categories: string[]) => returnAndThrowInDebug([]),\n addDocumentContext: () => returnAndThrowInDebug(\"\"),\n removeDocumentContext: () => {},\n\n copilotApiConfig: new (class implements CopilotApiConfig {\n get chatApiEndpoint(): string {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n get chatApiEndpointV2(): string {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n get headers(): Record<string, string> {\n return {};\n }\n get body(): Record<string, any> {\n return {};\n }\n })(),\n\n chatSuggestionConfiguration: {},\n addChatSuggestionConfiguration: () => {},\n removeChatSuggestionConfiguration: () => {},\n};\n\nexport const CopilotContext = React.createContext<CopilotContextParams>(emptyCopilotContext);\n\nexport function useCopilotContext(): CopilotContextParams {\n return React.useContext(CopilotContext);\n}\n\nfunction returnAndThrowInDebug<T>(value: T): T {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n return value;\n}\n"],"mappings":";;;;;AAGA,OAAO,WAAW;AAkHlB,IAAM,sBAA4C;AAAA,EAChD,SAAS,CAAC;AAAA,EACV,WAAW,MAAM;AAAA,EAAC;AAAA,EAClB,cAAc,MAAM;AAAA,EAAC;AAAA,EAErB,qBAAqB,EAAE,SAAS,CAAC,EAAE;AAAA,EACnC,kBAAkB,CAAC,WAA8B,eAC/C,sBAAsB,EAAE;AAAA,EAC1B,YAAY,MAAM;AAAA,EAClB,eAAe,MAAM;AAAA,EAAC;AAAA,EAEtB,wBAAwB,MAAM,sBAAsB,MAAY;AAAA,EAAC,EAAC;AAAA,EAElE,UAAU,CAAC;AAAA,EACX,aAAa,MAAM,sBAAsB,CAAC,CAAC;AAAA,EAE3C,WAAW;AAAA,EACX,cAAc,MAAM,sBAAsB,KAAK;AAAA,EAE/C,kBAAkB;AAAA,EAClB,qBAAqB,MAAM,sBAAsB,EAAE;AAAA,EAEnD,qBAAqB,CAAC,eAAyB,sBAAsB,CAAC,CAAC;AAAA,EACvE,oBAAoB,MAAM,sBAAsB,EAAE;AAAA,EAClD,uBAAuB,MAAM;AAAA,EAAC;AAAA,EAE9B,kBAAkB,IAAK,MAAkC;AAAA,IACvD,IAAI,kBAA0B;AAC5B,YAAM,IAAI,MAAM,uEAAuE;AAAA,IACzF;AAAA,IACA,IAAI,oBAA4B;AAC9B,YAAM,IAAI,MAAM,uEAAuE;AAAA,IACzF;AAAA,IACA,IAAI,UAAkC;AACpC,aAAO,CAAC;AAAA,IACV;AAAA,IACA,IAAI,OAA4B;AAC9B,aAAO,CAAC;AAAA,IACV;AAAA,EACF,EAAG;AAAA,EAEH,6BAA6B,CAAC;AAAA,EAC9B,gCAAgC,MAAM;AAAA,EAAC;AAAA,EACvC,mCAAmC,MAAM;AAAA,EAAC;AAC5C;AAEO,IAAM,iBAAiB,MAAM,cAAoC,mBAAmB;AAEpF,SAAS,oBAA0C;AACxD,SAAO,MAAM,WAAW,cAAc;AACxC;AAEA,SAAS,sBAAyB,OAAa;AAC7C,QAAM,IAAI,MAAM,uEAAuE;AACvF,SAAO;AACT;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotContext
3
- } from "./chunk-GLPZSBNA.mjs";
3
+ } from "./chunk-K6EV2CNB.mjs";
4
4
 
5
5
  // src/hooks/use-copilot-action.ts
6
6
  import { useRef, useContext, useEffect } from "react";
@@ -44,4 +44,4 @@ function useCopilotAction(action, dependencies) {
44
44
  export {
45
45
  useCopilotAction
46
46
  };
47
- //# sourceMappingURL=chunk-MI7BERU7.mjs.map
47
+ //# sourceMappingURL=chunk-LZVHW3T3.mjs.map
@@ -1,12 +1,12 @@
1
- import {
2
- use_flat_category_store_default
3
- } from "./chunk-YULKJPY3.mjs";
4
1
  import {
5
2
  use_tree_default
6
3
  } from "./chunk-YWITCRBI.mjs";
7
4
  import {
8
5
  CopilotContext
9
- } from "./chunk-GLPZSBNA.mjs";
6
+ } from "./chunk-K6EV2CNB.mjs";
7
+ import {
8
+ use_flat_category_store_default
9
+ } from "./chunk-YULKJPY3.mjs";
10
10
  import {
11
11
  __async,
12
12
  __objRest,
@@ -129,7 +129,7 @@ ${nonDocumentStrings}`;
129
129
  chatApiEndpoint,
130
130
  chatApiEndpointV2: `${props.url}/v2`,
131
131
  headers: props.headers || {},
132
- body: __spreadValues(__spreadValues({}, props.body), props.backendOnlyProps),
132
+ properties: props.properties || {},
133
133
  transcribeAudioUrl: props.transcribeAudioUrl,
134
134
  textToSpeechUrl: props.textToSpeechUrl,
135
135
  credentials: props.credentials
@@ -192,4 +192,4 @@ export {
192
192
  CopilotKit,
193
193
  defaultCopilotContextCategories
194
194
  };
195
- //# sourceMappingURL=chunk-FY3TQ7Q6.mjs.map
195
+ //# sourceMappingURL=chunk-MUDJGRUJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/copilot-provider/copilotkit.tsx"],"sourcesContent":["/**\n * Provides the Copilot context to its children.\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 * This component provides the Copilot context to its children.\n * It can be configured either with a chat API endpoint or a `CopilotApiConfig`.\n * \n * <Note>\n * The backend can use OpenAI, or you can bring your own LLM. For examples of the\n * backend api implementation, see `examples/next-openai` or the [runtime\n * docs](https://docs.copilotkit.ai/getting-started/quickstart-runtime).\n * </Note>\n * \n * <RequestExample>\n * ```jsx CopilotKit Example\n * import { CopilotKit } from \"@copilotkit/react-core\";\n * \n * <CopilotKit \n * runtimeUrl=\"https://your.copilotkit.api\">\n * <YourApp/>\n * </CopilotKit>\n * ```\n * </RequestExample>\n * \n * ## Example usage\n * \n * ```jsx\n * <CopilotKit publicApiKey=\"the api key or self host (see below)\">\n * <App />\n * </CopilotKit>\n```\n */\nimport { Ref, useCallback, useRef, useState } from \"react\";\nimport {\n CopilotContext,\n CopilotApiConfig,\n InChatRenderFunction,\n} from \"../../context/copilot-context\";\nimport useTree from \"../../hooks/use-tree\";\nimport { CopilotChatSuggestionConfiguration, DocumentPointer } from \"../../types\";\n\nimport {\n COPILOT_CLOUD_CHAT_URL,\n CopilotCloudConfig,\n FunctionCallHandler,\n} from \"@copilotkit/shared\";\nimport { Message } from \"@copilotkit/runtime-client-gql\";\n\nimport { FrontendAction } from \"../../types/frontend-action\";\nimport useFlatCategoryStore from \"../../hooks/use-flat-category-store\";\nimport { CopilotKitProps } from \"./copilotkit-props\";\n\nexport function CopilotKit({ children, ...props }: CopilotKitProps) {\n // Compute all the functions and properties that we need to pass\n // to the CopilotContext.\n\n if (!props.runtimeUrl && !props.url && !props.publicApiKey) {\n throw new Error(\"Please provide either a url or a publicApiKey to the CopilotKit component.\");\n }\n\n const chatApiEndpoint = props.runtimeUrl || props.url || COPILOT_CLOUD_CHAT_URL;\n\n const [actions, setActions] = useState<Record<string, FrontendAction<any>>>({});\n const chatComponentsCache = useRef<Record<string, InChatRenderFunction | string>>({});\n const { addElement, removeElement, printTree } = useTree();\n const [messages, setMessages] = useState<Message[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [chatInstructions, setChatInstructions] = useState(\"\");\n\n const {\n addElement: addDocument,\n removeElement: removeDocument,\n allElements: allDocuments,\n } = useFlatCategoryStore<DocumentPointer>();\n\n const setAction = useCallback((id: string, action: FrontendAction<any>) => {\n setActions((prevPoints) => {\n return {\n ...prevPoints,\n [id]: action,\n };\n });\n }, []);\n\n const removeAction = useCallback((id: string) => {\n setActions((prevPoints) => {\n const newPoints = { ...prevPoints };\n delete newPoints[id];\n return newPoints;\n });\n }, []);\n\n const getContextString = useCallback(\n (documents: DocumentPointer[], categories: string[]) => {\n const documentsString = documents\n .map((document) => {\n return `${document.name} (${document.sourceApplication}):\\n${document.getContents()}`;\n })\n .join(\"\\n\\n\");\n\n const nonDocumentStrings = printTree(categories);\n\n return `${documentsString}\\n\\n${nonDocumentStrings}`;\n },\n [printTree],\n );\n\n const addContext = useCallback(\n (\n context: string,\n parentId?: string,\n categories: string[] = defaultCopilotContextCategories,\n ) => {\n return addElement(context, categories, parentId);\n },\n [addElement],\n );\n\n const removeContext = useCallback(\n (id: string) => {\n removeElement(id);\n },\n [removeElement],\n );\n\n const getFunctionCallHandler = useCallback(\n (customEntryPoints?: Record<string, FrontendAction<any>>) => {\n return entryPointsToFunctionCallHandler(Object.values(customEntryPoints || actions));\n },\n [actions],\n );\n\n const getDocumentsContext = useCallback(\n (categories: string[]) => {\n return allDocuments(categories);\n },\n [allDocuments],\n );\n\n const addDocumentContext = useCallback(\n (documentPointer: DocumentPointer, categories: string[] = defaultCopilotContextCategories) => {\n return addDocument(documentPointer, categories);\n },\n [addDocument],\n );\n\n const removeDocumentContext = useCallback(\n (documentId: string) => {\n removeDocument(documentId);\n },\n [removeDocument],\n );\n\n if (!props.publicApiKey) {\n if (props.cloudRestrictToTopic) {\n throw new Error(\n \"To use the cloudRestrictToTopic feature, please sign up at https://copilotkit.ai and provide a publicApiKey.\",\n );\n }\n }\n\n let cloud: CopilotCloudConfig | undefined = undefined;\n if (props.publicApiKey) {\n cloud = {\n guardrails: {\n input: {\n restrictToTopic: {\n enabled: props.cloudRestrictToTopic ? true : false,\n validTopics: props.cloudRestrictToTopic?.validTopics || [],\n invalidTopics: props.cloudRestrictToTopic?.invalidTopics || [],\n },\n },\n },\n };\n }\n\n // get the appropriate CopilotApiConfig from the props\n const copilotApiConfig: CopilotApiConfig = {\n publicApiKey: props.publicApiKey,\n ...(cloud ? { cloud } : {}),\n chatApiEndpoint: chatApiEndpoint,\n chatApiEndpointV2: `${props.url}/v2`,\n headers: props.headers || {},\n body: {\n ...props.body,\n ...props.backendOnlyProps,\n },\n transcribeAudioUrl: props.transcribeAudioUrl,\n textToSpeechUrl: props.textToSpeechUrl,\n credentials: props.credentials,\n };\n\n const [chatSuggestionConfiguration, setChatSuggestionConfiguration] = useState<{\n [key: string]: CopilotChatSuggestionConfiguration;\n }>({});\n\n const addChatSuggestionConfiguration = (\n id: string,\n suggestion: CopilotChatSuggestionConfiguration,\n ) => {\n setChatSuggestionConfiguration((prev) => ({ ...prev, [id]: suggestion }));\n };\n\n const removeChatSuggestionConfiguration = (id: string) => {\n setChatSuggestionConfiguration((prev) => {\n const { [id]: _, ...rest } = prev;\n return rest;\n });\n };\n\n return (\n <CopilotContext.Provider\n value={{\n actions,\n chatComponentsCache,\n getFunctionCallHandler,\n setAction,\n removeAction,\n getContextString,\n addContext,\n removeContext,\n getDocumentsContext,\n addDocumentContext,\n removeDocumentContext,\n copilotApiConfig: copilotApiConfig,\n messages,\n setMessages,\n isLoading,\n setIsLoading,\n chatSuggestionConfiguration,\n addChatSuggestionConfiguration,\n removeChatSuggestionConfiguration,\n chatInstructions,\n setChatInstructions,\n }}\n >\n {children}\n </CopilotContext.Provider>\n );\n}\n\nexport const defaultCopilotContextCategories = [\"global\"];\n\nfunction entryPointsToFunctionCallHandler(actions: FrontendAction<any>[]): FunctionCallHandler {\n return async ({ messages, name, args }) => {\n let actionsByFunctionName: Record<string, FrontendAction<any>> = {};\n for (let action of actions) {\n actionsByFunctionName[action.name] = action;\n }\n\n const action = actionsByFunctionName[name];\n if (action) {\n return await action.handler(args);\n }\n };\n}\n"],"mappings":"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","names":["_a","_b","action"]}
1
+ {"version":3,"sources":["../src/components/copilot-provider/copilotkit.tsx"],"sourcesContent":["/**\n * Provides the Copilot context to its children.\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 * This component provides the Copilot context to its children.\n * It can be configured either with a chat API endpoint or a `CopilotApiConfig`.\n * \n * <Note>\n * The backend can use OpenAI, or you can bring your own LLM. For examples of the\n * backend api implementation, see `examples/next-openai` or the [runtime\n * docs](https://docs.copilotkit.ai/getting-started/quickstart-runtime).\n * </Note>\n * \n * <RequestExample>\n * ```jsx CopilotKit Example\n * import { CopilotKit } from \"@copilotkit/react-core\";\n * \n * <CopilotKit \n * runtimeUrl=\"https://your.copilotkit.api\">\n * <YourApp/>\n * </CopilotKit>\n * ```\n * </RequestExample>\n * \n * ## Example usage\n * \n * ```jsx\n * <CopilotKit publicApiKey=\"the api key or self host (see below)\">\n * <App />\n * </CopilotKit>\n```\n */\nimport { Ref, useCallback, useRef, useState } from \"react\";\nimport {\n CopilotContext,\n CopilotApiConfig,\n InChatRenderFunction,\n} from \"../../context/copilot-context\";\nimport useTree from \"../../hooks/use-tree\";\nimport { CopilotChatSuggestionConfiguration, DocumentPointer } from \"../../types\";\n\nimport {\n COPILOT_CLOUD_CHAT_URL,\n CopilotCloudConfig,\n FunctionCallHandler,\n} from \"@copilotkit/shared\";\nimport { Message } from \"@copilotkit/runtime-client-gql\";\n\nimport { FrontendAction } from \"../../types/frontend-action\";\nimport useFlatCategoryStore from \"../../hooks/use-flat-category-store\";\nimport { CopilotKitProps } from \"./copilotkit-props\";\n\nexport function CopilotKit({ children, ...props }: CopilotKitProps) {\n // Compute all the functions and properties that we need to pass\n // to the CopilotContext.\n\n if (!props.runtimeUrl && !props.url && !props.publicApiKey) {\n throw new Error(\"Please provide either a url or a publicApiKey to the CopilotKit component.\");\n }\n\n const chatApiEndpoint = props.runtimeUrl || props.url || COPILOT_CLOUD_CHAT_URL;\n\n const [actions, setActions] = useState<Record<string, FrontendAction<any>>>({});\n const chatComponentsCache = useRef<Record<string, InChatRenderFunction | string>>({});\n const { addElement, removeElement, printTree } = useTree();\n const [messages, setMessages] = useState<Message[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [chatInstructions, setChatInstructions] = useState(\"\");\n\n const {\n addElement: addDocument,\n removeElement: removeDocument,\n allElements: allDocuments,\n } = useFlatCategoryStore<DocumentPointer>();\n\n const setAction = useCallback((id: string, action: FrontendAction<any>) => {\n setActions((prevPoints) => {\n return {\n ...prevPoints,\n [id]: action,\n };\n });\n }, []);\n\n const removeAction = useCallback((id: string) => {\n setActions((prevPoints) => {\n const newPoints = { ...prevPoints };\n delete newPoints[id];\n return newPoints;\n });\n }, []);\n\n const getContextString = useCallback(\n (documents: DocumentPointer[], categories: string[]) => {\n const documentsString = documents\n .map((document) => {\n return `${document.name} (${document.sourceApplication}):\\n${document.getContents()}`;\n })\n .join(\"\\n\\n\");\n\n const nonDocumentStrings = printTree(categories);\n\n return `${documentsString}\\n\\n${nonDocumentStrings}`;\n },\n [printTree],\n );\n\n const addContext = useCallback(\n (\n context: string,\n parentId?: string,\n categories: string[] = defaultCopilotContextCategories,\n ) => {\n return addElement(context, categories, parentId);\n },\n [addElement],\n );\n\n const removeContext = useCallback(\n (id: string) => {\n removeElement(id);\n },\n [removeElement],\n );\n\n const getFunctionCallHandler = useCallback(\n (customEntryPoints?: Record<string, FrontendAction<any>>) => {\n return entryPointsToFunctionCallHandler(Object.values(customEntryPoints || actions));\n },\n [actions],\n );\n\n const getDocumentsContext = useCallback(\n (categories: string[]) => {\n return allDocuments(categories);\n },\n [allDocuments],\n );\n\n const addDocumentContext = useCallback(\n (documentPointer: DocumentPointer, categories: string[] = defaultCopilotContextCategories) => {\n return addDocument(documentPointer, categories);\n },\n [addDocument],\n );\n\n const removeDocumentContext = useCallback(\n (documentId: string) => {\n removeDocument(documentId);\n },\n [removeDocument],\n );\n\n if (!props.publicApiKey) {\n if (props.cloudRestrictToTopic) {\n throw new Error(\n \"To use the cloudRestrictToTopic feature, please sign up at https://copilotkit.ai and provide a publicApiKey.\",\n );\n }\n }\n\n let cloud: CopilotCloudConfig | undefined = undefined;\n if (props.publicApiKey) {\n cloud = {\n guardrails: {\n input: {\n restrictToTopic: {\n enabled: props.cloudRestrictToTopic ? true : false,\n validTopics: props.cloudRestrictToTopic?.validTopics || [],\n invalidTopics: props.cloudRestrictToTopic?.invalidTopics || [],\n },\n },\n },\n };\n }\n\n // get the appropriate CopilotApiConfig from the props\n const copilotApiConfig: CopilotApiConfig = {\n publicApiKey: props.publicApiKey,\n ...(cloud ? { cloud } : {}),\n chatApiEndpoint: chatApiEndpoint,\n chatApiEndpointV2: `${props.url}/v2`,\n headers: props.headers || {},\n properties: props.properties || {},\n transcribeAudioUrl: props.transcribeAudioUrl,\n textToSpeechUrl: props.textToSpeechUrl,\n credentials: props.credentials,\n };\n\n const [chatSuggestionConfiguration, setChatSuggestionConfiguration] = useState<{\n [key: string]: CopilotChatSuggestionConfiguration;\n }>({});\n\n const addChatSuggestionConfiguration = (\n id: string,\n suggestion: CopilotChatSuggestionConfiguration,\n ) => {\n setChatSuggestionConfiguration((prev) => ({ ...prev, [id]: suggestion }));\n };\n\n const removeChatSuggestionConfiguration = (id: string) => {\n setChatSuggestionConfiguration((prev) => {\n const { [id]: _, ...rest } = prev;\n return rest;\n });\n };\n\n return (\n <CopilotContext.Provider\n value={{\n actions,\n chatComponentsCache,\n getFunctionCallHandler,\n setAction,\n removeAction,\n getContextString,\n addContext,\n removeContext,\n getDocumentsContext,\n addDocumentContext,\n removeDocumentContext,\n copilotApiConfig: copilotApiConfig,\n messages,\n setMessages,\n isLoading,\n setIsLoading,\n chatSuggestionConfiguration,\n addChatSuggestionConfiguration,\n removeChatSuggestionConfiguration,\n chatInstructions,\n setChatInstructions,\n }}\n >\n {children}\n </CopilotContext.Provider>\n );\n}\n\nexport const defaultCopilotContextCategories = [\"global\"];\n\nfunction entryPointsToFunctionCallHandler(actions: FrontendAction<any>[]): FunctionCallHandler {\n return async ({ messages, name, args }) => {\n let actionsByFunctionName: Record<string, FrontendAction<any>> = {};\n for (let action of actions) {\n actionsByFunctionName[action.name] = action;\n }\n\n const action = actionsByFunctionName[name];\n if (action) {\n return await action.handler(args);\n }\n };\n}\n"],"mappings":"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","names":["_a","_b","action"]}