@copilotkit/react-core 1.0.3 → 1.0.4-mme-pre-flush-sync.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 (64) hide show
  1. package/.turbo/turbo-build.log +112 -112
  2. package/CHANGELOG.md +9 -0
  3. package/dist/{chunk-YULKJPY3.mjs → chunk-5FHSUKQL.mjs} +3 -3
  4. package/dist/chunk-5FHSUKQL.mjs.map +1 -0
  5. package/dist/{chunk-YWITCRBI.mjs → chunk-6U3UH3KO.mjs} +3 -3
  6. package/dist/chunk-6U3UH3KO.mjs.map +1 -0
  7. package/dist/{chunk-UJNVZO2U.mjs → chunk-7MBXXVUG.mjs} +2 -2
  8. package/dist/{chunk-UMJ5P6TZ.mjs → chunk-CSUYHSF7.mjs} +3 -3
  9. package/dist/chunk-CSUYHSF7.mjs.map +1 -0
  10. package/dist/{chunk-UTRWUF3Y.mjs → chunk-FYU7ZPC6.mjs} +2 -2
  11. package/dist/{chunk-LYC2GBBA.mjs → chunk-PVOSM63P.mjs} +17 -4
  12. package/dist/chunk-PVOSM63P.mjs.map +1 -0
  13. package/dist/{chunk-SSQGTCDU.mjs → chunk-QSND65UY.mjs} +2 -2
  14. package/dist/components/copilot-provider/copilotkit.js +20 -7
  15. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  16. package/dist/components/copilot-provider/copilotkit.mjs +3 -3
  17. package/dist/components/copilot-provider/index.js +20 -7
  18. package/dist/components/copilot-provider/index.js.map +1 -1
  19. package/dist/components/copilot-provider/index.mjs +3 -3
  20. package/dist/components/index.js +20 -7
  21. package/dist/components/index.js.map +1 -1
  22. package/dist/components/index.mjs +3 -3
  23. package/dist/hooks/index.js +3 -2
  24. package/dist/hooks/index.js.map +1 -1
  25. package/dist/hooks/index.mjs +5 -5
  26. package/dist/hooks/use-copilot-action.js +2 -2
  27. package/dist/hooks/use-copilot-action.js.map +1 -1
  28. package/dist/hooks/use-copilot-action.mjs +1 -1
  29. package/dist/hooks/use-copilot-chat.js +1 -0
  30. package/dist/hooks/use-copilot-chat.js.map +1 -1
  31. package/dist/hooks/use-copilot-chat.mjs +4 -4
  32. package/dist/hooks/use-flat-category-store.js +2 -2
  33. package/dist/hooks/use-flat-category-store.js.map +1 -1
  34. package/dist/hooks/use-flat-category-store.mjs +1 -1
  35. package/dist/hooks/use-tree.js +2 -2
  36. package/dist/hooks/use-tree.js.map +1 -1
  37. package/dist/hooks/use-tree.mjs +1 -1
  38. package/dist/index.js +30 -17
  39. package/dist/index.js.map +1 -1
  40. package/dist/index.mjs +7 -7
  41. package/dist/lib/copilot-task.js +1 -0
  42. package/dist/lib/copilot-task.js.map +1 -1
  43. package/dist/lib/copilot-task.mjs +4 -4
  44. package/dist/lib/index.js +1 -0
  45. package/dist/lib/index.js.map +1 -1
  46. package/dist/lib/index.mjs +4 -4
  47. package/dist/utils/extract.js +1 -0
  48. package/dist/utils/extract.js.map +1 -1
  49. package/dist/utils/extract.mjs +4 -4
  50. package/dist/utils/index.js +1 -0
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/index.mjs +4 -4
  53. package/package.json +8 -7
  54. package/src/components/copilot-provider/copilotkit.tsx +14 -2
  55. package/src/hooks/use-copilot-action.ts +2 -3
  56. package/src/hooks/use-flat-category-store.ts +2 -2
  57. package/src/hooks/use-tree.ts +2 -2
  58. package/dist/chunk-LYC2GBBA.mjs.map +0 -1
  59. package/dist/chunk-UMJ5P6TZ.mjs.map +0 -1
  60. package/dist/chunk-YULKJPY3.mjs.map +0 -1
  61. package/dist/chunk-YWITCRBI.mjs.map +0 -1
  62. /package/dist/{chunk-UJNVZO2U.mjs.map → chunk-7MBXXVUG.mjs.map} +0 -0
  63. /package/dist/{chunk-UTRWUF3Y.mjs.map → chunk-FYU7ZPC6.mjs.map} +0 -0
  64. /package/dist/{chunk-SSQGTCDU.mjs.map → chunk-QSND65UY.mjs.map} +0 -0
@@ -1,5 +1,5 @@
1
1
 
2
- > @copilotkit/react-core@1.0.3 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-core
2
+ > @copilotkit/react-core@1.0.4-mme-pre-flush-sync.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-core
3
3
  > tsup --clean
4
4
 
5
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-document-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
@@ -10,91 +10,11 @@
10
10
  CLI Cleaning output folder
11
11
  ESM Build start
12
12
  CJS Build start
13
- CJS dist/lib/copilot-task.js 5.55 KB
14
- CJS dist/types/chat-suggestion-configuration.js 893.00 B
15
- CJS dist/utils/extract.js 6.85 KB
16
- CJS dist/components/copilot-provider/copilotkit-props.js 864.00 B
17
- CJS dist/index.js 37.70 KB
18
- CJS dist/components/index.js 16.29 KB
19
- CJS dist/context/copilot-context.js 3.77 KB
20
- CJS dist/context/index.js 3.76 KB
21
- CJS dist/hooks/index.js 17.96 KB
22
- CJS dist/hooks/use-chat.js 9.36 KB
23
- CJS dist/hooks/use-copilot-action.js 5.03 KB
24
- CJS dist/hooks/use-copilot-readable.js 4.48 KB
25
- CJS dist/hooks/use-copilot-chat.js 15.08 KB
26
- CJS dist/hooks/use-flat-category-store.js 2.87 KB
27
- CJS dist/hooks/use-make-copilot-document-readable.js 4.37 KB
28
- CJS dist/hooks/use-tree.js 5.53 KB
29
- CJS dist/lib/index.js 5.54 KB
30
- CJS dist/types/document-pointer.js 841.00 B
31
- CJS dist/types/frontend-action.js 837.00 B
32
- CJS dist/types/index.js 797.00 B
33
- CJS dist/types/system-message.js 833.00 B
34
- CJS dist/utils/index.js 6.87 KB
35
- CJS dist/utils/utils.test.js 184.00 B
36
- CJS dist/utils/utils.js 797.00 B
37
- CJS dist/components/copilot-provider/copilotkit.js 16.27 KB
38
- CJS dist/components/copilot-provider/index.js 16.33 KB
39
- CJS dist/lib/copilot-task.js.map 16.69 KB
40
- CJS dist/types/chat-suggestion-configuration.js.map 673.00 B
41
- CJS dist/utils/extract.js.map 15.33 KB
42
- CJS dist/components/copilot-provider/copilotkit-props.js.map 1.68 KB
43
- CJS dist/components/index.js.map 29.41 KB
44
- CJS dist/context/copilot-context.js.map 6.03 KB
45
- CJS dist/context/index.js.map 6.26 KB
46
- CJS dist/index.js.map 77.19 KB
47
- CJS dist/hooks/use-chat.js.map 13.33 KB
48
- CJS dist/hooks/use-copilot-action.js.map 10.14 KB
49
- CJS dist/hooks/use-copilot-readable.js.map 11.07 KB
50
- CJS dist/hooks/index.js.map 45.17 KB
51
- CJS dist/hooks/use-flat-category-store.js.map 4.25 KB
52
- CJS dist/hooks/use-make-copilot-document-readable.js.map 7.32 KB
53
- CJS dist/hooks/use-copilot-chat.js.map 34.08 KB
54
- CJS dist/hooks/use-tree.js.map 8.32 KB
55
- CJS dist/lib/index.js.map 16.76 KB
56
- CJS dist/types/document-pointer.js.map 292.00 B
57
- CJS dist/types/frontend-action.js.map 1.77 KB
58
- CJS dist/types/index.js.map 432.00 B
59
- CJS dist/types/system-message.js.map 249.00 B
60
- CJS dist/utils/index.js.map 15.40 KB
61
- CJS dist/utils/utils.test.js.map 354.00 B
62
- CJS dist/utils/utils.js.map 137.00 B
63
- CJS dist/components/copilot-provider/copilotkit.js.map 29.35 KB
64
- CJS dist/components/copilot-provider/index.js.map 29.54 KB
65
- CJS ⚡️ Build success in 95ms
66
- ESM dist/index.mjs 1.10 KB
67
- ESM dist/components/index.mjs 375.00 B
68
- ESM dist/context/copilot-context.mjs 205.00 B
69
- ESM dist/hooks/index.mjs 681.00 B
70
- ESM dist/chunk-EFZPSZWO.mjs 43.00 B
71
- ESM dist/chunk-YJLRG5U3.mjs 43.00 B
72
- ESM dist/chunk-LUGEI4YQ.mjs 43.00 B
73
- ESM dist/chunk-UTRWUF3Y.mjs 4.51 KB
74
- ESM dist/chunk-SSQGTCDU.mjs 3.80 KB
75
- ESM dist/context/index.mjs 227.00 B
76
- ESM dist/chunk-VNRDQJXW.mjs 43.00 B
77
- ESM dist/chunk-5JB4B2SV.mjs 43.00 B
78
- ESM dist/chunk-2RZ2UMWO.mjs 909.00 B
79
- ESM dist/chunk-TWFVVCRS.mjs 700.00 B
80
- ESM dist/hooks/use-copilot-action.mjs 202.00 B
81
- ESM dist/hooks/use-chat.mjs 142.00 B
82
- ESM dist/chunk-UMJ5P6TZ.mjs 1.42 KB
83
- ESM dist/chunk-UJNVZO2U.mjs 3.12 KB
84
- ESM dist/hooks/use-copilot-chat.mjs 436.00 B
85
- ESM dist/chunk-JD7BAH7U.mjs 43.00 B
86
- ESM dist/chunk-SPCZTZCY.mjs 43.00 B
87
- ESM dist/chunk-LYC2GBBA.mjs 5.67 KB
88
- ESM dist/chunk-YULKJPY3.mjs 1.84 KB
89
- ESM dist/chunk-YWITCRBI.mjs 3.89 KB
90
- ESM dist/chunk-S357AOAD.mjs 6.93 KB
91
- ESM dist/chunk-2F7V4NDT.mjs 1.59 KB
92
- ESM dist/chunk-SKC7AJIV.mjs 1.97 KB
93
13
  ESM dist/components/copilot-provider/copilotkit.mjs 331.00 B
94
14
  ESM dist/components/copilot-provider/index.mjs 361.00 B
95
15
  ESM dist/types/frontend-action.mjs 44.00 B
96
- ESM dist/types/system-message.mjs 43.00 B
97
16
  ESM dist/types/index.mjs 66.00 B
17
+ ESM dist/types/system-message.mjs 43.00 B
98
18
  ESM dist/utils/extract.mjs 333.00 B
99
19
  ESM dist/utils/index.mjs 363.00 B
100
20
  ESM dist/utils/utils.test.mjs 170.00 B
@@ -108,37 +28,37 @@
108
28
  ESM dist/lib/index.mjs 371.00 B
109
29
  ESM dist/types/chat-suggestion-configuration.mjs 58.00 B
110
30
  ESM dist/types/document-pointer.mjs 45.00 B
111
- ESM dist/index.mjs.map 71.00 B
112
- ESM dist/components/index.mjs.map 71.00 B
113
- ESM dist/context/copilot-context.mjs.map 71.00 B
114
- ESM dist/hooks/index.mjs.map 71.00 B
115
- ESM dist/chunk-LUGEI4YQ.mjs.map 71.00 B
116
- ESM dist/chunk-YJLRG5U3.mjs.map 71.00 B
117
- ESM dist/chunk-EFZPSZWO.mjs.map 71.00 B
118
- ESM dist/context/index.mjs.map 71.00 B
119
- ESM dist/chunk-UTRWUF3Y.mjs.map 7.64 KB
120
- ESM dist/chunk-VNRDQJXW.mjs.map 71.00 B
121
- ESM dist/chunk-SSQGTCDU.mjs.map 9.04 KB
122
- ESM dist/chunk-5JB4B2SV.mjs.map 71.00 B
123
- ESM dist/chunk-TWFVVCRS.mjs.map 1.40 KB
124
- ESM dist/hooks/use-copilot-action.mjs.map 71.00 B
125
- ESM dist/chunk-2RZ2UMWO.mjs.map 5.15 KB
126
- ESM dist/hooks/use-chat.mjs.map 71.00 B
127
- ESM dist/chunk-UMJ5P6TZ.mjs.map 4.22 KB
128
- ESM dist/hooks/use-copilot-chat.mjs.map 71.00 B
129
- ESM dist/chunk-JD7BAH7U.mjs.map 71.00 B
130
- ESM dist/chunk-LYC2GBBA.mjs.map 10.98 KB
131
- ESM dist/chunk-SPCZTZCY.mjs.map 71.00 B
132
- ESM dist/chunk-YULKJPY3.mjs.map 4.21 KB
133
- ESM dist/chunk-YWITCRBI.mjs.map 8.27 KB
134
- ESM dist/chunk-S357AOAD.mjs.map 13.37 KB
135
- ESM dist/chunk-SKC7AJIV.mjs.map 71.00 B
136
- ESM dist/chunk-2F7V4NDT.mjs.map 5.94 KB
137
- ESM dist/chunk-UJNVZO2U.mjs.map 7.22 KB
31
+ ESM dist/index.mjs 1.10 KB
32
+ ESM dist/chunk-EFZPSZWO.mjs 43.00 B
33
+ ESM dist/chunk-YJLRG5U3.mjs 43.00 B
34
+ ESM dist/chunk-FYU7ZPC6.mjs 4.51 KB
35
+ ESM dist/chunk-LUGEI4YQ.mjs 43.00 B
36
+ ESM dist/chunk-QSND65UY.mjs 3.80 KB
37
+ ESM dist/components/index.mjs 375.00 B
38
+ ESM dist/context/copilot-context.mjs 205.00 B
39
+ ESM dist/context/index.mjs 227.00 B
40
+ ESM dist/chunk-VNRDQJXW.mjs 43.00 B
41
+ ESM dist/hooks/index.mjs 681.00 B
42
+ ESM dist/chunk-5JB4B2SV.mjs 43.00 B
43
+ ESM dist/chunk-2RZ2UMWO.mjs 909.00 B
44
+ ESM dist/chunk-TWFVVCRS.mjs 700.00 B
45
+ ESM dist/hooks/use-chat.mjs 142.00 B
46
+ ESM dist/hooks/use-copilot-action.mjs 202.00 B
47
+ ESM dist/chunk-CSUYHSF7.mjs 1.44 KB
48
+ ESM dist/hooks/use-copilot-chat.mjs 436.00 B
49
+ ESM dist/chunk-7MBXXVUG.mjs 3.12 KB
50
+ ESM dist/chunk-JD7BAH7U.mjs 43.00 B
51
+ ESM dist/chunk-SPCZTZCY.mjs 43.00 B
52
+ ESM dist/chunk-PVOSM63P.mjs 6.05 KB
53
+ ESM dist/chunk-5FHSUKQL.mjs 1.86 KB
54
+ ESM dist/chunk-6U3UH3KO.mjs 3.91 KB
55
+ ESM dist/chunk-S357AOAD.mjs 6.93 KB
56
+ ESM dist/chunk-2F7V4NDT.mjs 1.59 KB
57
+ ESM dist/chunk-SKC7AJIV.mjs 1.97 KB
138
58
  ESM dist/components/copilot-provider/copilotkit.mjs.map 71.00 B
59
+ ESM dist/components/copilot-provider/index.mjs.map 71.00 B
139
60
  ESM dist/types/frontend-action.mjs.map 71.00 B
140
61
  ESM dist/types/system-message.mjs.map 71.00 B
141
- ESM dist/components/copilot-provider/index.mjs.map 71.00 B
142
62
  ESM dist/types/index.mjs.map 71.00 B
143
63
  ESM dist/utils/extract.mjs.map 71.00 B
144
64
  ESM dist/utils/index.mjs.map 71.00 B
@@ -153,9 +73,89 @@
153
73
  ESM dist/lib/index.mjs.map 71.00 B
154
74
  ESM dist/types/chat-suggestion-configuration.mjs.map 71.00 B
155
75
  ESM dist/types/document-pointer.mjs.map 71.00 B
156
- ESM ⚡️ Build success in 99ms
76
+ ESM dist/index.mjs.map 71.00 B
77
+ ESM dist/chunk-EFZPSZWO.mjs.map 71.00 B
78
+ ESM dist/chunk-YJLRG5U3.mjs.map 71.00 B
79
+ ESM dist/chunk-FYU7ZPC6.mjs.map 7.64 KB
80
+ ESM dist/chunk-LUGEI4YQ.mjs.map 71.00 B
81
+ ESM dist/chunk-QSND65UY.mjs.map 9.04 KB
82
+ ESM dist/components/index.mjs.map 71.00 B
83
+ ESM dist/context/copilot-context.mjs.map 71.00 B
84
+ ESM dist/context/index.mjs.map 71.00 B
85
+ ESM dist/chunk-VNRDQJXW.mjs.map 71.00 B
86
+ ESM dist/hooks/index.mjs.map 71.00 B
87
+ ESM dist/chunk-5JB4B2SV.mjs.map 71.00 B
88
+ ESM dist/chunk-2RZ2UMWO.mjs.map 5.15 KB
89
+ ESM dist/chunk-TWFVVCRS.mjs.map 1.40 KB
90
+ ESM dist/hooks/use-chat.mjs.map 71.00 B
91
+ ESM dist/hooks/use-copilot-action.mjs.map 71.00 B
92
+ ESM dist/chunk-CSUYHSF7.mjs.map 4.20 KB
93
+ ESM dist/hooks/use-copilot-chat.mjs.map 71.00 B
94
+ ESM dist/chunk-7MBXXVUG.mjs.map 7.22 KB
95
+ ESM dist/chunk-JD7BAH7U.mjs.map 71.00 B
96
+ ESM dist/chunk-SPCZTZCY.mjs.map 71.00 B
97
+ ESM dist/chunk-PVOSM63P.mjs.map 11.60 KB
98
+ ESM dist/chunk-5FHSUKQL.mjs.map 4.22 KB
99
+ ESM dist/chunk-6U3UH3KO.mjs.map 8.28 KB
100
+ ESM dist/chunk-S357AOAD.mjs.map 13.37 KB
101
+ ESM dist/chunk-2F7V4NDT.mjs.map 5.94 KB
102
+ ESM dist/chunk-SKC7AJIV.mjs.map 71.00 B
103
+ ESM ⚡️ Build success in 88ms
104
+ CJS dist/index.js 38.15 KB
105
+ CJS dist/context/copilot-context.js 3.77 KB
106
+ CJS dist/hooks/index.js 18.01 KB
107
+ CJS dist/lib/copilot-task.js 5.60 KB
108
+ CJS dist/types/chat-suggestion-configuration.js 893.00 B
109
+ CJS dist/utils/extract.js 6.90 KB
110
+ CJS dist/context/index.js 3.76 KB
111
+ CJS dist/hooks/use-chat.js 9.36 KB
112
+ CJS dist/hooks/use-copilot-action.js 5.04 KB
113
+ CJS dist/hooks/use-copilot-chat.js 15.13 KB
114
+ CJS dist/hooks/use-copilot-readable.js 4.48 KB
115
+ CJS dist/hooks/use-flat-category-store.js 2.88 KB
116
+ CJS dist/hooks/use-make-copilot-document-readable.js 4.37 KB
117
+ CJS dist/hooks/use-tree.js 5.54 KB
118
+ CJS dist/lib/index.js 5.58 KB
119
+ CJS dist/types/document-pointer.js 841.00 B
120
+ CJS dist/types/frontend-action.js 837.00 B
121
+ CJS dist/types/index.js 797.00 B
122
+ CJS dist/types/system-message.js 833.00 B
123
+ CJS dist/utils/index.js 6.91 KB
124
+ CJS dist/utils/utils.test.js 184.00 B
125
+ CJS dist/utils/utils.js 797.00 B
126
+ CJS dist/components/copilot-provider/copilotkit-props.js 864.00 B
127
+ CJS dist/components/index.js 16.73 KB
128
+ CJS dist/components/copilot-provider/copilotkit.js 16.71 KB
129
+ CJS dist/components/copilot-provider/index.js 16.76 KB
130
+ CJS dist/index.js.map 77.84 KB
131
+ CJS dist/context/copilot-context.js.map 6.03 KB
132
+ CJS dist/hooks/index.js.map 45.56 KB
133
+ CJS dist/lib/copilot-task.js.map 17.09 KB
134
+ CJS dist/types/chat-suggestion-configuration.js.map 673.00 B
135
+ CJS dist/utils/extract.js.map 15.72 KB
136
+ CJS dist/context/index.js.map 6.26 KB
137
+ CJS dist/hooks/use-chat.js.map 13.33 KB
138
+ CJS dist/hooks/use-copilot-action.js.map 10.12 KB
139
+ CJS dist/hooks/use-copilot-chat.js.map 34.47 KB
140
+ CJS dist/hooks/use-copilot-readable.js.map 11.07 KB
141
+ CJS dist/hooks/use-flat-category-store.js.map 4.26 KB
142
+ CJS dist/hooks/use-make-copilot-document-readable.js.map 7.32 KB
143
+ CJS dist/hooks/use-tree.js.map 8.33 KB
144
+ CJS dist/lib/index.js.map 17.15 KB
145
+ CJS dist/types/document-pointer.js.map 292.00 B
146
+ CJS dist/types/frontend-action.js.map 1.77 KB
147
+ CJS dist/types/index.js.map 432.00 B
148
+ CJS dist/types/system-message.js.map 249.00 B
149
+ CJS dist/utils/index.js.map 15.79 KB
150
+ CJS dist/utils/utils.test.js.map 354.00 B
151
+ CJS dist/utils/utils.js.map 137.00 B
152
+ CJS dist/components/copilot-provider/copilotkit-props.js.map 1.68 KB
153
+ CJS dist/components/index.js.map 30.08 KB
154
+ CJS dist/components/copilot-provider/copilotkit.js.map 30.01 KB
155
+ CJS dist/components/copilot-provider/index.js.map 30.21 KB
156
+ CJS ⚡️ Build success in 89ms
157
157
  DTS Build start
158
- DTS ⚡️ Build success in 5249ms
158
+ DTS ⚡️ Build success in 5075ms
159
159
  DTS dist/index.d.ts 1.22 KB
160
160
  DTS dist/components/copilot-provider/copilotkit.d.ts 271.00 B
161
161
  DTS dist/components/copilot-provider/copilotkit-props.d.ts 1.58 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # ui
2
2
 
3
+ ## 1.0.4-mme-pre-flush-sync.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Use flushSync()
8
+ - Updated dependencies
9
+ - @copilotkit/runtime-client-gql@1.0.4-mme-pre-flush-sync.0
10
+ - @copilotkit/shared@1.0.4-mme-pre-flush-sync.0
11
+
3
12
  ## 1.0.3
4
13
 
5
14
  ### Patch Changes
@@ -1,10 +1,10 @@
1
1
  // src/hooks/use-flat-category-store.ts
2
- import { nanoid } from "nanoid";
3
2
  import { useCallback, useReducer } from "react";
3
+ import { randomId } from "@copilotkit/shared";
4
4
  var useFlatCategoryStore = () => {
5
5
  const [elements, dispatch] = useReducer(flatCategoryStoreReducer, /* @__PURE__ */ new Map());
6
6
  const addElement = useCallback((value, categories) => {
7
- const newId = nanoid();
7
+ const newId = randomId();
8
8
  dispatch({
9
9
  type: "ADD_ELEMENT",
10
10
  value,
@@ -67,4 +67,4 @@ function setsHaveIntersection(setA, setB) {
67
67
  export {
68
68
  use_flat_category_store_default
69
69
  };
70
- //# sourceMappingURL=chunk-YULKJPY3.mjs.map
70
+ //# sourceMappingURL=chunk-5FHSUKQL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-flat-category-store.ts"],"sourcesContent":["import { useCallback, useReducer } from \"react\";\nimport { randomId } from \"@copilotkit/shared\";\n\nexport type FlatCategoryStoreId = string;\n\nexport interface UseFlatCategoryStoreReturn<T> {\n addElement: (value: T, categories: string[]) => FlatCategoryStoreId;\n removeElement: (id: FlatCategoryStoreId) => void;\n allElements: (categories: string[]) => T[];\n}\n\ninterface FlatCategoryStoreElement<T> {\n id: FlatCategoryStoreId;\n value: T;\n categories: Set<string>;\n}\n\nconst useFlatCategoryStore = <T>(): UseFlatCategoryStoreReturn<T> => {\n const [elements, dispatch] = useReducer<\n React.Reducer<Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>>, Action<T>>\n >(flatCategoryStoreReducer, new Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>>());\n\n const addElement = useCallback((value: T, categories: string[]): FlatCategoryStoreId => {\n const newId = randomId();\n dispatch({\n type: \"ADD_ELEMENT\",\n value,\n id: newId,\n categories,\n });\n return newId;\n }, []);\n\n const removeElement = useCallback((id: FlatCategoryStoreId): void => {\n dispatch({ type: \"REMOVE_ELEMENT\", id });\n }, []);\n\n const allElements = useCallback(\n (categories: string[]): T[] => {\n const categoriesSet = new Set(categories);\n const result: T[] = [];\n elements.forEach((element) => {\n if (setsHaveIntersection(categoriesSet, element.categories)) {\n result.push(element.value);\n }\n });\n return result;\n },\n [elements],\n );\n\n return { addElement, removeElement, allElements };\n};\n\nexport default useFlatCategoryStore;\n\n// Action types\ntype Action<T> =\n | {\n type: \"ADD_ELEMENT\";\n value: T;\n id: FlatCategoryStoreId;\n categories: string[];\n }\n | { type: \"REMOVE_ELEMENT\"; id: FlatCategoryStoreId };\n\n// Reducer\nfunction flatCategoryStoreReducer<T>(\n state: Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>>,\n action: Action<T>,\n): Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>> {\n switch (action.type) {\n case \"ADD_ELEMENT\": {\n const { value, id, categories } = action;\n const newElement: FlatCategoryStoreElement<T> = {\n id,\n value,\n categories: new Set(categories),\n };\n const newState = new Map(state);\n newState.set(id, newElement);\n return newState;\n }\n case \"REMOVE_ELEMENT\": {\n const newState = new Map(state);\n newState.delete(action.id);\n return newState;\n }\n default:\n return state;\n }\n}\n\nfunction setsHaveIntersection<T>(setA: Set<T>, setB: Set<T>): boolean {\n const [smallerSet, largerSet] = setA.size <= setB.size ? [setA, setB] : [setB, setA];\n\n for (let item of smallerSet) {\n if (largerSet.has(item)) {\n return true;\n }\n }\n\n return false;\n}\n"],"mappings":";AAAA,SAAS,aAAa,kBAAkB;AACxC,SAAS,gBAAgB;AAgBzB,IAAM,uBAAuB,MAAwC;AACnE,QAAM,CAAC,UAAU,QAAQ,IAAI,WAE3B,0BAA0B,oBAAI,IAAsD,CAAC;AAEvF,QAAM,aAAa,YAAY,CAAC,OAAU,eAA8C;AACtF,UAAM,QAAQ,SAAS;AACvB,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAgB,YAAY,CAAC,OAAkC;AACnE,aAAS,EAAE,MAAM,kBAAkB,GAAG,CAAC;AAAA,EACzC,GAAG,CAAC,CAAC;AAEL,QAAM,cAAc;AAAA,IAClB,CAAC,eAA8B;AAC7B,YAAM,gBAAgB,IAAI,IAAI,UAAU;AACxC,YAAM,SAAc,CAAC;AACrB,eAAS,QAAQ,CAAC,YAAY;AAC5B,YAAI,qBAAqB,eAAe,QAAQ,UAAU,GAAG;AAC3D,iBAAO,KAAK,QAAQ,KAAK;AAAA,QAC3B;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,SAAO,EAAE,YAAY,eAAe,YAAY;AAClD;AAEA,IAAO,kCAAQ;AAaf,SAAS,yBACP,OACA,QACuD;AACvD,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,eAAe;AAClB,YAAM,EAAE,OAAO,IAAI,WAAW,IAAI;AAClC,YAAM,aAA0C;AAAA,QAC9C;AAAA,QACA;AAAA,QACA,YAAY,IAAI,IAAI,UAAU;AAAA,MAChC;AACA,YAAM,WAAW,IAAI,IAAI,KAAK;AAC9B,eAAS,IAAI,IAAI,UAAU;AAC3B,aAAO;AAAA,IACT;AAAA,IACA,KAAK,kBAAkB;AACrB,YAAM,WAAW,IAAI,IAAI,KAAK;AAC9B,eAAS,OAAO,OAAO,EAAE;AACzB,aAAO;AAAA,IACT;AAAA,IACA;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,qBAAwB,MAAc,MAAuB;AACpE,QAAM,CAAC,YAAY,SAAS,IAAI,KAAK,QAAQ,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI;AAEnF,WAAS,QAAQ,YAAY;AAC3B,QAAI,UAAU,IAAI,IAAI,GAAG;AACvB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-SKC7AJIV.mjs";
5
5
 
6
6
  // src/hooks/use-tree.ts
7
- import { nanoid } from "nanoid";
7
+ import { randomId } from "@copilotkit/shared";
8
8
  import { useCallback, useReducer } from "react";
9
9
  var removeNode = (nodes, id) => {
10
10
  return nodes.reduce((result, node) => {
@@ -89,7 +89,7 @@ var useTree = () => {
89
89
  const [tree, dispatch] = useReducer(treeReducer, []);
90
90
  const addElement = useCallback(
91
91
  (value, categories, parentId) => {
92
- const newNodeId = nanoid();
92
+ const newNodeId = randomId();
93
93
  dispatch({
94
94
  type: "ADD_NODE",
95
95
  value,
@@ -137,4 +137,4 @@ function setsHaveIntersection(setA, setB) {
137
137
  export {
138
138
  use_tree_default
139
139
  };
140
- //# sourceMappingURL=chunk-YWITCRBI.mjs.map
140
+ //# sourceMappingURL=chunk-6U3UH3KO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-tree.ts"],"sourcesContent":["import { randomId } from \"@copilotkit/shared\";\nimport { useCallback, useReducer } from \"react\";\n\nexport type TreeNodeId = string;\n\nexport interface TreeNode {\n id: TreeNodeId;\n value: string;\n children: TreeNode[];\n parentId?: TreeNodeId;\n categories: Set<string>;\n}\n\nexport type Tree = TreeNode[];\n\nexport interface UseTreeReturn {\n tree: Tree;\n addElement: (value: string, categories: string[], parentId?: TreeNodeId) => TreeNodeId;\n printTree: (categories: string[]) => string;\n removeElement: (id: TreeNodeId) => void;\n}\n\nconst findNode = (nodes: Tree, id: TreeNodeId): TreeNode | undefined => {\n for (const node of nodes) {\n if (node.id === id) {\n return node;\n }\n const result = findNode(node.children, id);\n if (result) {\n return result;\n }\n }\n return undefined;\n};\n\nconst removeNode = (nodes: Tree, id: TreeNodeId): Tree => {\n return nodes.reduce((result: Tree, node) => {\n if (node.id !== id) {\n const newNode = { ...node, children: removeNode(node.children, id) };\n result.push(newNode);\n }\n return result;\n }, []);\n};\n\nconst addNode = (nodes: Tree, newNode: TreeNode, parentId?: TreeNodeId): Tree => {\n if (!parentId) {\n return [...nodes, newNode];\n }\n return nodes.map((node) => {\n if (node.id === parentId) {\n return { ...node, children: [...node.children, newNode] };\n } else if (node.children.length) {\n return { ...node, children: addNode(node.children, newNode, parentId) };\n }\n return node;\n });\n};\n\nconst treeIndentationRepresentation = (index: number, indentLevel: number): string => {\n if (indentLevel === 0) {\n return (index + 1).toString();\n } else if (indentLevel === 1) {\n return String.fromCharCode(65 + index); // 65 is the ASCII value for 'A'\n } else if (indentLevel === 2) {\n return String.fromCharCode(97 + index); // 97 is the ASCII value for 'a'\n } else {\n return \"-\";\n }\n};\n\nconst printNode = (node: TreeNode, prefix = \"\", indentLevel = 0): string => {\n const indent = \" \".repeat(3).repeat(indentLevel);\n\n const prefixPlusIndentLength = prefix.length + indent.length;\n const subsequentLinesPrefix = \" \".repeat(prefixPlusIndentLength);\n\n const valueLines = node.value.split(\"\\n\");\n\n const outputFirstLine = `${indent}${prefix}${valueLines[0]}`;\n const outputSubsequentLines = valueLines\n .slice(1)\n .map((line) => `${subsequentLinesPrefix}${line}`)\n .join(\"\\n\");\n\n let output = `${outputFirstLine}\\n`;\n if (outputSubsequentLines) {\n output += `${outputSubsequentLines}\\n`;\n }\n\n const childPrePrefix = \" \".repeat(prefix.length);\n\n node.children.forEach(\n (child, index) =>\n (output += printNode(\n child,\n `${childPrePrefix}${treeIndentationRepresentation(index, indentLevel + 1)}. `,\n indentLevel + 1,\n )),\n );\n return output;\n};\n\n// Action types\ntype Action =\n | {\n type: \"ADD_NODE\";\n value: string;\n parentId?: string;\n id: string;\n categories: string[];\n }\n | { type: \"REMOVE_NODE\"; id: string };\n\n// Reducer function\nfunction treeReducer(state: Tree, action: Action): Tree {\n switch (action.type) {\n case \"ADD_NODE\": {\n const { value, parentId, id: newNodeId } = action;\n const newNode: TreeNode = {\n id: newNodeId,\n value,\n children: [],\n categories: new Set(action.categories),\n };\n\n try {\n return addNode(state, newNode, parentId);\n } catch (error) {\n console.error(`Error while adding node with id ${newNodeId}: ${error}`);\n return state;\n }\n }\n case \"REMOVE_NODE\":\n return removeNode(state, action.id);\n default:\n return state;\n }\n}\n\n// useTree hook\nconst useTree = (): UseTreeReturn => {\n const [tree, dispatch] = useReducer(treeReducer, []);\n\n const addElement = useCallback(\n (value: string, categories: string[], parentId?: string): TreeNodeId => {\n const newNodeId = randomId(); // Generate new ID outside of dispatch\n dispatch({\n type: \"ADD_NODE\",\n value,\n parentId,\n id: newNodeId,\n categories: categories,\n });\n return newNodeId; // Return the new ID\n },\n [],\n );\n\n const removeElement = useCallback((id: TreeNodeId): void => {\n dispatch({ type: \"REMOVE_NODE\", id });\n }, []);\n\n const printTree = useCallback(\n (categories: string[]): string => {\n const categoriesSet = new Set(categories);\n\n let output = \"\";\n tree.forEach((node, index) => {\n // if the node does not have any of the desired categories, continue to the next node\n if (!setsHaveIntersection(categoriesSet, node.categories)) {\n return;\n }\n\n // add a new line before each node except the first one\n if (index !== 0) {\n output += \"\\n\";\n }\n\n output += printNode(node, `${treeIndentationRepresentation(index, 0)}. `);\n });\n return output;\n },\n [tree],\n );\n\n return { tree, addElement, printTree, removeElement };\n};\n\nexport default useTree;\n\nfunction setsHaveIntersection<T>(setA: Set<T>, setB: Set<T>): boolean {\n const [smallerSet, largerSet] = setA.size <= setB.size ? [setA, setB] : [setB, setA];\n\n for (let item of smallerSet) {\n if (largerSet.has(item)) {\n return true;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa,kBAAkB;AAkCxC,IAAM,aAAa,CAAC,OAAa,OAAyB;AACxD,SAAO,MAAM,OAAO,CAAC,QAAc,SAAS;AAC1C,QAAI,KAAK,OAAO,IAAI;AAClB,YAAM,UAAU,iCAAK,OAAL,EAAW,UAAU,WAAW,KAAK,UAAU,EAAE,EAAE;AACnE,aAAO,KAAK,OAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEA,IAAM,UAAU,CAAC,OAAa,SAAmB,aAAgC;AAC/E,MAAI,CAAC,UAAU;AACb,WAAO,CAAC,GAAG,OAAO,OAAO;AAAA,EAC3B;AACA,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,QAAI,KAAK,OAAO,UAAU;AACxB,aAAO,iCAAK,OAAL,EAAW,UAAU,CAAC,GAAG,KAAK,UAAU,OAAO,EAAE;AAAA,IAC1D,WAAW,KAAK,SAAS,QAAQ;AAC/B,aAAO,iCAAK,OAAL,EAAW,UAAU,QAAQ,KAAK,UAAU,SAAS,QAAQ,EAAE;AAAA,IACxE;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEA,IAAM,gCAAgC,CAAC,OAAe,gBAAgC;AACpF,MAAI,gBAAgB,GAAG;AACrB,YAAQ,QAAQ,GAAG,SAAS;AAAA,EAC9B,WAAW,gBAAgB,GAAG;AAC5B,WAAO,OAAO,aAAa,KAAK,KAAK;AAAA,EACvC,WAAW,gBAAgB,GAAG;AAC5B,WAAO,OAAO,aAAa,KAAK,KAAK;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,IAAM,YAAY,CAAC,MAAgB,SAAS,IAAI,cAAc,MAAc;AAC1E,QAAM,SAAS,IAAI,OAAO,CAAC,EAAE,OAAO,WAAW;AAE/C,QAAM,yBAAyB,OAAO,SAAS,OAAO;AACtD,QAAM,wBAAwB,IAAI,OAAO,sBAAsB;AAE/D,QAAM,aAAa,KAAK,MAAM,MAAM,IAAI;AAExC,QAAM,kBAAkB,GAAG,SAAS,SAAS,WAAW,CAAC;AACzD,QAAM,wBAAwB,WAC3B,MAAM,CAAC,EACP,IAAI,CAAC,SAAS,GAAG,wBAAwB,MAAM,EAC/C,KAAK,IAAI;AAEZ,MAAI,SAAS,GAAG;AAAA;AAChB,MAAI,uBAAuB;AACzB,cAAU,GAAG;AAAA;AAAA,EACf;AAEA,QAAM,iBAAiB,IAAI,OAAO,OAAO,MAAM;AAE/C,OAAK,SAAS;AAAA,IACZ,CAAC,OAAO,UACL,UAAU;AAAA,MACT;AAAA,MACA,GAAG,iBAAiB,8BAA8B,OAAO,cAAc,CAAC;AAAA,MACxE,cAAc;AAAA,IAChB;AAAA,EACJ;AACA,SAAO;AACT;AAcA,SAAS,YAAY,OAAa,QAAsB;AACtD,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,YAAY;AACf,YAAM,EAAE,OAAO,UAAU,IAAI,UAAU,IAAI;AAC3C,YAAM,UAAoB;AAAA,QACxB,IAAI;AAAA,QACJ;AAAA,QACA,UAAU,CAAC;AAAA,QACX,YAAY,IAAI,IAAI,OAAO,UAAU;AAAA,MACvC;AAEA,UAAI;AACF,eAAO,QAAQ,OAAO,SAAS,QAAQ;AAAA,MACzC,SAAS,OAAP;AACA,gBAAQ,MAAM,mCAAmC,cAAc,OAAO;AACtE,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,KAAK;AACH,aAAO,WAAW,OAAO,OAAO,EAAE;AAAA,IACpC;AACE,aAAO;AAAA,EACX;AACF;AAGA,IAAM,UAAU,MAAqB;AACnC,QAAM,CAAC,MAAM,QAAQ,IAAI,WAAW,aAAa,CAAC,CAAC;AAEnD,QAAM,aAAa;AAAA,IACjB,CAAC,OAAe,YAAsB,aAAkC;AACtE,YAAM,YAAY,SAAS;AAC3B,eAAS;AAAA,QACP,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA,IAAI;AAAA,QACJ;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgB,YAAY,CAAC,OAAyB;AAC1D,aAAS,EAAE,MAAM,eAAe,GAAG,CAAC;AAAA,EACtC,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY;AAAA,IAChB,CAAC,eAAiC;AAChC,YAAM,gBAAgB,IAAI,IAAI,UAAU;AAExC,UAAI,SAAS;AACb,WAAK,QAAQ,CAAC,MAAM,UAAU;AAE5B,YAAI,CAAC,qBAAqB,eAAe,KAAK,UAAU,GAAG;AACzD;AAAA,QACF;AAGA,YAAI,UAAU,GAAG;AACf,oBAAU;AAAA,QACZ;AAEA,kBAAU,UAAU,MAAM,GAAG,8BAA8B,OAAO,CAAC,KAAK;AAAA,MAC1E,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,SAAO,EAAE,MAAM,YAAY,WAAW,cAAc;AACtD;AAEA,IAAO,mBAAQ;AAEf,SAAS,qBAAwB,MAAc,MAAuB;AACpE,QAAM,CAAC,YAAY,SAAS,IAAI,KAAK,QAAQ,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI;AAEnF,WAAS,QAAQ,YAAY;AAC3B,QAAI,UAAU,IAAI,IAAI,GAAG;AACvB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defaultCopilotContextCategories
3
- } from "./chunk-LYC2GBBA.mjs";
3
+ } from "./chunk-PVOSM63P.mjs";
4
4
  import {
5
5
  useChat
6
6
  } from "./chunk-S357AOAD.mjs";
@@ -104,4 +104,4 @@ export {
104
104
  useCopilotChat,
105
105
  defaultSystemMessage
106
106
  };
107
- //# sourceMappingURL=chunk-UJNVZO2U.mjs.map
107
+ //# sourceMappingURL=chunk-7MBXXVUG.mjs.map
@@ -4,10 +4,10 @@ import {
4
4
 
5
5
  // src/hooks/use-copilot-action.ts
6
6
  import { useRef, useContext, useEffect } from "react";
7
- import { nanoid } from "nanoid";
7
+ import { randomId } from "@copilotkit/shared";
8
8
  function useCopilotAction(action, dependencies) {
9
9
  const { setAction, removeAction, actions, chatComponentsCache } = useContext(CopilotContext);
10
- const idRef = useRef(nanoid());
10
+ const idRef = useRef(randomId());
11
11
  if (dependencies === void 0) {
12
12
  if (actions[idRef.current]) {
13
13
  actions[idRef.current].handler = action.handler;
@@ -44,4 +44,4 @@ function useCopilotAction(action, dependencies) {
44
44
  export {
45
45
  useCopilotAction
46
46
  };
47
- //# sourceMappingURL=chunk-UMJ5P6TZ.mjs.map
47
+ //# sourceMappingURL=chunk-CSUYHSF7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-copilot-action.ts"],"sourcesContent":["import { useRef, useContext, useEffect } from \"react\";\nimport { FrontendAction } from \"../types/frontend-action\";\nimport { CopilotContext } from \"../context/copilot-context\";\nimport { Parameter, randomId } from \"@copilotkit/shared\";\n\n// We implement useCopilotAction dependency handling so that\n// the developer has the option to not provide any dependencies.\n// In this case, we assume they want to update the handler on each rerender.\n// To avoid getting stuck in an infinite loop, we update the handler directly,\n// skipping React state updates.\n// This is ok in this case, because the handler is not part of any UI that\n// needs to be updated.\n// useCallback, useMemo or other memoization techniques are not suitable here,\n// because they will cause a infinite rerender loop.\nexport function useCopilotAction<const T extends Parameter[] | [] = []>(\n action: FrontendAction<T>,\n dependencies?: any[],\n): void {\n const { setAction, removeAction, actions, chatComponentsCache } = useContext(CopilotContext);\n const idRef = useRef<string>(randomId());\n\n // If the developer doesn't provide dependencies, we assume they want to\n // update handler and render function when the action object changes.\n // This ensures that any captured variables in the handler are up to date.\n if (dependencies === undefined) {\n if (actions[idRef.current]) {\n actions[idRef.current].handler = action.handler as any;\n if (typeof action.render === \"function\") {\n if (chatComponentsCache.current !== null) {\n chatComponentsCache.current[action.name] = action.render;\n }\n }\n }\n }\n\n useEffect(() => {\n setAction(idRef.current, action as any);\n if (chatComponentsCache.current !== null && action.render !== undefined) {\n chatComponentsCache.current[action.name] = action.render;\n }\n return () => {\n // NOTE: For now, we don't remove the chatComponentsCache entry when the action is removed.\n // This is because we currently don't have access to the messages array in CopilotContext.\n removeAction(idRef.current);\n };\n }, [\n setAction,\n removeAction,\n action.description,\n action.name,\n // This should be faster than deep equality checking\n // In addition, all major JS engines guarantee the order of object keys\n JSON.stringify(action.parameters),\n // include render only if it's a string\n typeof action.render === \"string\" ? action.render : undefined,\n // dependencies set by the developer\n ...(dependencies || []),\n ]);\n}\n\n// Usage Example:\n// useCopilotAction({\n// name: \"myAction\",\n// parameters: [\n// { name: \"arg1\", type: \"string\", enum: [\"option1\", \"option2\", \"option3\"], required: false },\n// { name: \"arg2\", type: \"number\" },\n// {\n// name: \"arg3\",\n// type: \"object\",\n// attributes: [\n// { name: \"nestedArg1\", type: \"boolean\" },\n// { name: \"xyz\", required: false },\n// ],\n// },\n// { name: \"arg4\", type: \"number[]\" },\n// ],\n// handler: ({ arg1, arg2, arg3, arg4 }) => {\n// const x = arg3.nestedArg1;\n// const z = arg3.xyz;\n// console.log(arg1, arg2, arg3);\n// },\n// });\n\n// useCopilotAction({\n// name: \"myAction\",\n// handler: () => {\n// console.log(\"No parameters provided.\");\n// },\n// });\n"],"mappings":";;;;;AAAA,SAAS,QAAQ,YAAY,iBAAiB;AAG9C,SAAoB,gBAAgB;AAW7B,SAAS,iBACd,QACA,cACM;AACN,QAAM,EAAE,WAAW,cAAc,SAAS,oBAAoB,IAAI,WAAW,cAAc;AAC3F,QAAM,QAAQ,OAAe,SAAS,CAAC;AAKvC,MAAI,iBAAiB,QAAW;AAC9B,QAAI,QAAQ,MAAM,OAAO,GAAG;AAC1B,cAAQ,MAAM,OAAO,EAAE,UAAU,OAAO;AACxC,UAAI,OAAO,OAAO,WAAW,YAAY;AACvC,YAAI,oBAAoB,YAAY,MAAM;AACxC,8BAAoB,QAAQ,OAAO,IAAI,IAAI,OAAO;AAAA,QACpD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,YAAU,MAAM;AACd,cAAU,MAAM,SAAS,MAAa;AACtC,QAAI,oBAAoB,YAAY,QAAQ,OAAO,WAAW,QAAW;AACvE,0BAAoB,QAAQ,OAAO,IAAI,IAAI,OAAO;AAAA,IACpD;AACA,WAAO,MAAM;AAGX,mBAAa,MAAM,OAAO;AAAA,IAC5B;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,OAAO;AAAA;AAAA;AAAA,IAGP,KAAK,UAAU,OAAO,UAAU;AAAA;AAAA,IAEhC,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS;AAAA;AAAA,IAEpD,GAAI,gBAAgB,CAAC;AAAA,EACvB,CAAC;AACH;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defaultCopilotContextCategories
3
- } from "./chunk-LYC2GBBA.mjs";
3
+ } from "./chunk-PVOSM63P.mjs";
4
4
  import {
5
5
  __async,
6
6
  __spreadValues
@@ -142,4 +142,4 @@ Any additional messages provided are for providing context only and should not b
142
142
  export {
143
143
  extract
144
144
  };
145
- //# sourceMappingURL=chunk-UTRWUF3Y.mjs.map
145
+ //# sourceMappingURL=chunk-FYU7ZPC6.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  use_flat_category_store_default
3
- } from "./chunk-YULKJPY3.mjs";
3
+ } from "./chunk-5FHSUKQL.mjs";
4
4
  import {
5
5
  use_tree_default
6
- } from "./chunk-YWITCRBI.mjs";
6
+ } from "./chunk-6U3UH3KO.mjs";
7
7
  import {
8
8
  CopilotContext
9
9
  } from "./chunk-2F7V4NDT.mjs";
@@ -17,6 +17,7 @@ import {
17
17
 
18
18
  // src/components/copilot-provider/copilotkit.tsx
19
19
  import { useCallback, useRef, useState } from "react";
20
+ import { flushSync } from "react-dom";
20
21
  import {
21
22
  COPILOT_CLOUD_CHAT_URL
22
23
  } from "@copilotkit/shared";
@@ -183,9 +184,21 @@ function entryPointsToFunctionCallHandler(actions) {
183
184
  actionsByFunctionName[action2.name] = action2;
184
185
  }
185
186
  const action = actionsByFunctionName[name];
187
+ let result = void 0;
186
188
  if (action) {
187
- return yield action.handler(args);
189
+ yield new Promise((resolve, reject) => {
190
+ flushSync(() => __async(this, null, function* () {
191
+ try {
192
+ result = yield action.handler(args);
193
+ resolve();
194
+ } catch (error) {
195
+ reject(error);
196
+ }
197
+ }));
198
+ });
199
+ yield new Promise((resolve) => setTimeout(resolve, 20));
188
200
  }
201
+ return result;
189
202
  });
190
203
  }
191
204
 
@@ -193,4 +206,4 @@ export {
193
206
  CopilotKit,
194
207
  defaultCopilotContextCategories
195
208
  };
196
- //# sourceMappingURL=chunk-LYC2GBBA.mjs.map
209
+ //# sourceMappingURL=chunk-PVOSM63P.mjs.map
@@ -0,0 +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 { 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\";\nimport { flushSync } from \"react-dom\";\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.publicApiKey) {\n throw new Error(\n \"Please provide either a runtimeUrl or a publicApiKey to the CopilotKit component.\",\n );\n }\n\n const chatApiEndpoint = props.runtimeUrl || 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 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 let result: any = undefined;\n if (action) {\n await new Promise<void>((resolve, reject) => {\n flushSync(async () => {\n try {\n result = await action.handler(args);\n resolve();\n } catch (error) {\n reject(error);\n }\n });\n });\n await new Promise((resolve) => setTimeout(resolve, 20));\n }\n return result;\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoCA,SAAS,aAAa,QAAQ,gBAAgB;AAQ9C,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,OAGK;AAoKH;AA7JG,SAAS,WAAW,IAAyC;AAAzC,eAAE,WAxD7B,IAwD2B,IAAe,kBAAf,IAAe,CAAb;AAxD7B,MAAAA,KAAAC;AA4DE,MAAI,CAAC,MAAM,cAAc,CAAC,MAAM,cAAc;AAC5C,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,kBAAkB,MAAM,cAAc;AAE5C,QAAM,CAAC,SAAS,UAAU,IAAI,SAA8C,CAAC,CAAC;AAC9E,QAAM,sBAAsB,OAAsD,CAAC,CAAC;AACpF,QAAM,EAAE,YAAY,eAAe,UAAU,IAAI,iBAAQ;AACzD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAoB,CAAC,CAAC;AACtD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,EAAE;AAE3D,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,aAAa;AAAA,EACf,IAAI,gCAAsC;AAE1C,QAAM,YAAY,YAAY,CAAC,IAAY,WAAgC;AACzE,eAAW,CAAC,eAAe;AACzB,aAAO,iCACF,aADE;AAAA,QAEL,CAAC,EAAE,GAAG;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,eAAe,YAAY,CAAC,OAAe;AAC/C,eAAW,CAAC,eAAe;AACzB,YAAM,YAAY,mBAAK;AACvB,aAAO,UAAU,EAAE;AACnB,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB;AAAA,IACvB,CAAC,WAA8B,eAAyB;AACtD,YAAM,kBAAkB,UACrB,IAAI,CAAC,aAAa;AACjB,eAAO,GAAG,SAAS,SAAS,SAAS;AAAA,EAAwB,SAAS,YAAY;AAAA,MACpF,CAAC,EACA,KAAK,MAAM;AAEd,YAAM,qBAAqB,UAAU,UAAU;AAE/C,aAAO,GAAG;AAAA;AAAA,EAAsB;AAAA,IAClC;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,aAAa;AAAA,IACjB,CACE,SACA,UACA,aAAuB,oCACpB;AACH,aAAO,WAAW,SAAS,YAAY,QAAQ;AAAA,IACjD;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,gBAAgB;AAAA,IACpB,CAAC,OAAe;AACd,oBAAc,EAAE;AAAA,IAClB;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,yBAAyB;AAAA,IAC7B,CAAC,sBAA4D;AAC3D,aAAO,iCAAiC,OAAO,OAAO,qBAAqB,OAAO,CAAC;AAAA,IACrF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,sBAAsB;AAAA,IAC1B,CAAC,eAAyB;AACxB,aAAO,aAAa,UAAU;AAAA,IAChC;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAEA,QAAM,qBAAqB;AAAA,IACzB,CAAC,iBAAkC,aAAuB,oCAAoC;AAC5F,aAAO,YAAY,iBAAiB,UAAU;AAAA,IAChD;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,QAAM,wBAAwB;AAAA,IAC5B,CAAC,eAAuB;AACtB,qBAAe,UAAU;AAAA,IAC3B;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,MAAI,CAAC,MAAM,cAAc;AACvB,QAAI,MAAM,sBAAsB;AAC9B,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAwC;AAC5C,MAAI,MAAM,cAAc;AACtB,YAAQ;AAAA,MACN,YAAY;AAAA,QACV,OAAO;AAAA,UACL,iBAAiB;AAAA,YACf,SAAS,MAAM,uBAAuB,OAAO;AAAA,YAC7C,eAAaD,MAAA,MAAM,yBAAN,gBAAAA,IAA4B,gBAAe,CAAC;AAAA,YACzD,iBAAeC,MAAA,MAAM,yBAAN,gBAAAA,IAA4B,kBAAiB,CAAC;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,QAAM,mBAAqC;AAAA,IACzC,cAAc,MAAM;AAAA,KAChB,QAAQ,EAAE,MAAM,IAAI,CAAC,IAFgB;AAAA,IAGzC;AAAA,IACA,SAAS,MAAM,WAAW,CAAC;AAAA,IAC3B,YAAY,MAAM,cAAc,CAAC;AAAA,IACjC,oBAAoB,MAAM;AAAA,IAC1B,iBAAiB,MAAM;AAAA,IACvB,aAAa,MAAM;AAAA,EACrB;AAEA,QAAM,CAAC,6BAA6B,8BAA8B,IAAI,SAEnE,CAAC,CAAC;AAEL,QAAM,iCAAiC,CACrC,IACA,eACG;AACH,mCAA+B,CAAC,SAAU,iCAAK,OAAL,EAAW,CAAC,EAAE,GAAG,WAAW,EAAE;AAAA,EAC1E;AAEA,QAAM,oCAAoC,CAAC,OAAe;AACxD,mCAA+B,CAAC,SAAS;AACvC,YAA6BD,MAAA,MAApB,EA/Mf,CA+Me,KAAK,EA/MpB,IA+MmCA,KAAT,iBAASA,KAAT,CAAX;AACT,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SACE;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,kCAAkC,CAAC,QAAQ;AAExD,SAAS,iCAAiC,SAAqD;AAC7F,SAAO,CAAO,OAA6B,eAA7B,KAA6B,WAA7B,EAAE,UAAU,MAAM,KAAK,GAAM;AACzC,QAAI,wBAA6D,CAAC;AAClE,aAASE,WAAU,SAAS;AAC1B,4BAAsBA,QAAO,IAAI,IAAIA;AAAA,IACvC;AAEA,UAAM,SAAS,sBAAsB,IAAI;AACzC,QAAI,SAAc;AAClB,QAAI,QAAQ;AACV,YAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAC3C,kBAAU,MAAY;AACpB,cAAI;AACF,qBAAS,MAAM,OAAO,QAAQ,IAAI;AAClC,oBAAQ;AAAA,UACV,SAAS,OAAP;AACA,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,EAAC;AAAA,MACH,CAAC;AACD,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AACF;","names":["_a","_b","action"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defaultCopilotContextCategories
3
- } from "./chunk-LYC2GBBA.mjs";
3
+ } from "./chunk-PVOSM63P.mjs";
4
4
  import {
5
5
  __async
6
6
  } from "./chunk-SKC7AJIV.mjs";
@@ -111,4 +111,4 @@ ${instructions}
111
111
  export {
112
112
  CopilotTask
113
113
  };
114
- //# sourceMappingURL=chunk-SSQGTCDU.mjs.map
114
+ //# sourceMappingURL=chunk-QSND65UY.mjs.map
@@ -135,7 +135,7 @@ function returnAndThrowInDebug(value) {
135
135
  }
136
136
 
137
137
  // src/hooks/use-tree.ts
138
- var import_nanoid = require("nanoid");
138
+ var import_shared = require("@copilotkit/shared");
139
139
  var import_react2 = require("react");
140
140
  var removeNode = (nodes, id) => {
141
141
  return nodes.reduce((result, node) => {
@@ -220,7 +220,7 @@ var useTree = () => {
220
220
  const [tree, dispatch] = (0, import_react2.useReducer)(treeReducer, []);
221
221
  const addElement = (0, import_react2.useCallback)(
222
222
  (value, categories, parentId) => {
223
- const newNodeId = (0, import_nanoid.nanoid)();
223
+ const newNodeId = (0, import_shared.randomId)();
224
224
  dispatch({
225
225
  type: "ADD_NODE",
226
226
  value,
@@ -266,15 +266,16 @@ function setsHaveIntersection(setA, setB) {
266
266
  }
267
267
 
268
268
  // src/components/copilot-provider/copilotkit.tsx
269
- var import_shared = require("@copilotkit/shared");
269
+ var import_react_dom = require("react-dom");
270
+ var import_shared3 = require("@copilotkit/shared");
270
271
 
271
272
  // src/hooks/use-flat-category-store.ts
272
- var import_nanoid2 = require("nanoid");
273
273
  var import_react3 = require("react");
274
+ var import_shared2 = require("@copilotkit/shared");
274
275
  var useFlatCategoryStore = () => {
275
276
  const [elements, dispatch] = (0, import_react3.useReducer)(flatCategoryStoreReducer, /* @__PURE__ */ new Map());
276
277
  const addElement = (0, import_react3.useCallback)((value, categories) => {
277
- const newId = (0, import_nanoid2.nanoid)();
278
+ const newId = (0, import_shared2.randomId)();
278
279
  dispatch({
279
280
  type: "ADD_ELEMENT",
280
281
  value,
@@ -344,7 +345,7 @@ function CopilotKit(_a) {
344
345
  "Please provide either a runtimeUrl or a publicApiKey to the CopilotKit component."
345
346
  );
346
347
  }
347
- const chatApiEndpoint = props.runtimeUrl || import_shared.COPILOT_CLOUD_CHAT_URL;
348
+ const chatApiEndpoint = props.runtimeUrl || import_shared3.COPILOT_CLOUD_CHAT_URL;
348
349
  const [actions, setActions] = (0, import_react4.useState)({});
349
350
  const chatComponentsCache = (0, import_react4.useRef)({});
350
351
  const { addElement, removeElement, printTree } = use_tree_default();
@@ -498,9 +499,21 @@ function entryPointsToFunctionCallHandler(actions) {
498
499
  actionsByFunctionName[action2.name] = action2;
499
500
  }
500
501
  const action = actionsByFunctionName[name];
502
+ let result = void 0;
501
503
  if (action) {
502
- return yield action.handler(args);
504
+ yield new Promise((resolve, reject) => {
505
+ (0, import_react_dom.flushSync)(() => __async(this, null, function* () {
506
+ try {
507
+ result = yield action.handler(args);
508
+ resolve();
509
+ } catch (error) {
510
+ reject(error);
511
+ }
512
+ }));
513
+ });
514
+ yield new Promise((resolve) => setTimeout(resolve, 20));
503
515
  }
516
+ return result;
504
517
  });
505
518
  }
506
519
  // Annotate the CommonJS export names for ESM import in node: