@copilotkit/react-textarea 0.22.0 → 0.24.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 (52) hide show
  1. package/.turbo/turbo-build.log +36 -36
  2. package/CHANGELOG.md +22 -0
  3. package/dist/{chunk-BYIG72TT.mjs → chunk-3L6CNVCE.mjs} +2 -2
  4. package/dist/{chunk-WPIA53HF.mjs → chunk-4HHYJGZE.mjs} +1 -1
  5. package/dist/chunk-4HHYJGZE.mjs.map +1 -0
  6. package/dist/{chunk-PGGR6HL5.mjs → chunk-4LOLCQGR.mjs} +3 -1
  7. package/dist/chunk-4LOLCQGR.mjs.map +1 -0
  8. package/dist/{chunk-DYGPLRY3.mjs → chunk-4UYKBG35.mjs} +1 -1
  9. package/dist/{chunk-DYGPLRY3.mjs.map → chunk-4UYKBG35.mjs.map} +1 -1
  10. package/dist/{chunk-S6JUGJK2.mjs → chunk-6Z2ATUNY.mjs} +4 -2
  11. package/dist/chunk-6Z2ATUNY.mjs.map +1 -0
  12. package/dist/{chunk-SFEGMBSS.mjs → chunk-AQHORK66.mjs} +7 -7
  13. package/dist/{chunk-SFEGMBSS.mjs.map → chunk-AQHORK66.mjs.map} +1 -1
  14. package/dist/{chunk-MRPRZQMN.mjs → chunk-GIJ3JZ4P.mjs} +2 -2
  15. package/dist/{chunk-F2TIBXML.mjs → chunk-GUH3Y2H4.mjs} +4 -4
  16. package/dist/chunk-GUH3Y2H4.mjs.map +1 -0
  17. package/dist/{chunk-NZKGYWQV.mjs → chunk-JYVC4AW3.mjs} +4 -4
  18. package/dist/{chunk-NO3EYPQH.mjs → chunk-O4MHJSK2.mjs} +2 -2
  19. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +7 -7
  20. package/dist/components/copilot-textarea/copilot-textarea.mjs +11 -11
  21. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +4 -4
  22. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +2 -2
  23. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +3 -3
  24. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +1 -1
  25. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +3 -3
  26. package/dist/components/index.mjs +11 -11
  27. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +1 -1
  28. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +3 -3
  29. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +1 -1
  30. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +3 -3
  31. package/dist/index.mjs +11 -11
  32. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +1 -1
  33. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +2 -2
  34. package/dist/types/autosuggestions-config/index.mjs +2 -2
  35. package/dist/types/base/base-autosuggestions-config.mjs +1 -1
  36. package/dist/types/base/index.mjs +1 -1
  37. package/dist/types/index.mjs +2 -2
  38. package/package.json +4 -4
  39. package/src/components/copilot-textarea/copilot-textarea.tsx +2 -2
  40. package/src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx +7 -1
  41. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +1 -1
  42. package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +1 -1
  43. package/src/types/autosuggestions-config/autosuggestions-config.tsx +4 -3
  44. package/src/types/base/base-autosuggestions-config.tsx +2 -1
  45. package/dist/chunk-F2TIBXML.mjs.map +0 -1
  46. package/dist/chunk-PGGR6HL5.mjs.map +0 -1
  47. package/dist/chunk-S6JUGJK2.mjs.map +0 -1
  48. package/dist/chunk-WPIA53HF.mjs.map +0 -1
  49. /package/dist/{chunk-BYIG72TT.mjs.map → chunk-3L6CNVCE.mjs.map} +0 -0
  50. /package/dist/{chunk-MRPRZQMN.mjs.map → chunk-GIJ3JZ4P.mjs.map} +0 -0
  51. /package/dist/{chunk-NZKGYWQV.mjs.map → chunk-JYVC4AW3.mjs.map} +0 -0
  52. /package/dist/{chunk-NO3EYPQH.mjs.map → chunk-O4MHJSK2.mjs.map} +0 -0
@@ -1,8 +1,8 @@
1
1
 
2
- > @copilotkit/react-textarea@0.22.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-textarea
2
+ > @copilotkit/react-textarea@0.24.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-textarea
3
3
  > tsup --treeshake
4
4
 
5
- CLI Building entry: src/index.tsx, src/components/index.ts, src/context/index.ts, src/hooks/index.ts, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/retry.tsx, src/lib/stream-promise-flatten.ts, src/lib/utils.test.ts, src/lib/utils.ts, src/types/html-copilot-textarea-element.ts, src/types/index.ts, src/components/copilot-textarea/copilot-textarea.tsx, src/components/base-copilot-textarea/base-copilot-textarea.tsx, src/components/base-copilot-textarea/render-element.tsx, src/components/base-copilot-textarea/render-placeholder.tsx, src/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.tsx, src/components/base-copilot-textarea/use-add-branding-css.tsx, src/components/hovering-toolbar/hovering-editor-provider.tsx, src/components/hovering-toolbar/hovering-toolbar-components.tsx, src/components/hovering-toolbar/hovering-toolbar.tsx, src/components/manual-ui/chip-with-icon.tsx, src/components/source-search-box/source-search-box.tsx, src/components/ui/button.tsx, src/components/ui/card.tsx, src/components/ui/command.tsx, src/components/ui/dialog.tsx, src/components/ui/label.tsx, src/components/ui/separator.tsx, src/components/ui/textarea.tsx, src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts, src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx, src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts, src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx, src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx, src/hooks/misc/use-autosize-textarea.tsx, src/lib/slatejs-edits/add-autocompletions.ts, src/lib/slatejs-edits/clear-autocompletions.ts, src/lib/slatejs-edits/replace-text.ts, src/lib/slatejs-edits/with-partial-history.ts, src/types/autosuggestions-config/autosuggestions-config-user-specified.tsx, src/types/autosuggestions-config/autosuggestions-config.tsx, src/types/autosuggestions-config/editing-api-config.tsx, src/types/autosuggestions-config/index.ts, src/types/autosuggestions-config/insertions-api-config.tsx, src/types/autosuggestions-config/suggestions-api-config.tsx, src/types/base/autosuggestion-state.ts, src/types/base/autosuggestions-bare-function.ts, src/types/base/base-autosuggestions-config.tsx, src/types/base/base-copilot-textarea-props.tsx, src/types/base/custom-editor.tsx, src/types/base/editor-autocomplete-state.ts, src/types/base/index.ts, src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/index.ts, src/types/autosuggestions-config/subtypes/chatlike-api-endpoint.tsx, src/types/autosuggestions-config/subtypes/make-system-prompt.ts, src/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.tsx
5
+ CLI Building entry: src/index.tsx, src/components/index.ts, src/context/index.ts, src/hooks/index.ts, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/retry.tsx, src/lib/stream-promise-flatten.ts, src/lib/utils.test.ts, src/lib/utils.ts, src/types/html-copilot-textarea-element.ts, src/types/index.ts, src/components/base-copilot-textarea/base-copilot-textarea.tsx, src/components/base-copilot-textarea/render-element.tsx, src/components/base-copilot-textarea/render-placeholder.tsx, src/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.tsx, src/components/base-copilot-textarea/use-add-branding-css.tsx, src/components/copilot-textarea/copilot-textarea.tsx, src/components/hovering-toolbar/hovering-editor-provider.tsx, src/components/hovering-toolbar/hovering-toolbar-components.tsx, src/components/hovering-toolbar/hovering-toolbar.tsx, src/components/manual-ui/chip-with-icon.tsx, src/components/source-search-box/source-search-box.tsx, src/components/ui/button.tsx, src/components/ui/card.tsx, src/components/ui/command.tsx, src/components/ui/dialog.tsx, src/components/ui/label.tsx, src/components/ui/separator.tsx, src/components/ui/textarea.tsx, src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts, src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx, src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts, src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx, src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx, src/hooks/misc/use-autosize-textarea.tsx, src/lib/slatejs-edits/add-autocompletions.ts, src/lib/slatejs-edits/clear-autocompletions.ts, src/lib/slatejs-edits/replace-text.ts, src/lib/slatejs-edits/with-partial-history.ts, src/types/autosuggestions-config/autosuggestions-config-user-specified.tsx, src/types/autosuggestions-config/autosuggestions-config.tsx, src/types/autosuggestions-config/editing-api-config.tsx, src/types/autosuggestions-config/index.ts, src/types/autosuggestions-config/insertions-api-config.tsx, src/types/autosuggestions-config/suggestions-api-config.tsx, src/types/base/autosuggestion-state.ts, src/types/base/autosuggestions-bare-function.ts, src/types/base/base-autosuggestions-config.tsx, src/types/base/base-copilot-textarea-props.tsx, src/types/base/custom-editor.tsx, src/types/base/editor-autocomplete-state.ts, src/types/base/index.ts, src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx, src/components/hovering-toolbar/text-insertion-prompt-box/index.ts, src/types/autosuggestions-config/subtypes/chatlike-api-endpoint.tsx, src/types/autosuggestions-config/subtypes/make-system-prompt.ts, src/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.tsx
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v6.5.0
8
8
  CLI Using tsup config: /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-textarea/tsup.config.ts
@@ -58,7 +58,6 @@ Generated an empty chunk: "chunk-H4VKQGVU".
58
58
  ESM dist/chunk-WADHCMPK.mjs 76.00 B
59
59
  ESM dist/chunk-L7VVZH4Q.mjs 76.00 B
60
60
  ESM dist/chunk-WJHSY5T6.mjs 76.00 B
61
- ESM dist/chunk-S6JUGJK2.mjs 410.00 B
62
61
  ESM dist/chunk-IU3WTXLQ.mjs 76.00 B
63
62
  ESM dist/chunk-H4VKQGVU.mjs 76.00 B
64
63
  ESM dist/chunk-4S5ZJH3I.mjs 502.00 B
@@ -72,25 +71,25 @@ Generated an empty chunk: "chunk-H4VKQGVU".
72
71
  ESM dist/components/ui/label.mjs 186.00 B
73
72
  ESM dist/components/ui/separator.mjs 909.00 B
74
73
  ESM dist/components/ui/textarea.mjs 847.00 B
75
- ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
76
74
  ESM dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs 257.00 B
77
75
  ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs 178.00 B
76
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs 1.67 KB
78
77
  ESM dist/components/hovering-toolbar/hovering-toolbar-components.mjs 203.00 B
79
78
  ESM dist/components/hovering-toolbar/hovering-toolbar.mjs 697.00 B
80
79
  ESM dist/lib/stream-promise-flatten.mjs 177.00 B
81
80
  ESM dist/lib/utils.mjs 220.00 B
82
81
  ESM dist/types/index.mjs 527.00 B
83
- ESM dist/components/copilot-textarea/copilot-textarea.mjs 1.67 KB
84
82
  ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 1.27 KB
85
83
  ESM dist/components/base-copilot-textarea/render-element.mjs 180.00 B
84
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
86
85
  ESM dist/index.mjs 1.71 KB
87
86
  ESM dist/components/index.mjs 1.59 KB
88
- ESM dist/chunk-SFEGMBSS.mjs 1.87 KB
89
- ESM dist/chunk-DYGPLRY3.mjs 1.83 KB
90
- ESM dist/chunk-WPIA53HF.mjs 3.73 KB
87
+ ESM dist/chunk-AQHORK66.mjs 1.85 KB
88
+ ESM dist/chunk-4UYKBG35.mjs 1.83 KB
89
+ ESM dist/chunk-4HHYJGZE.mjs 3.73 KB
91
90
  ESM dist/chunk-QJDMIGLU.mjs 1.24 KB
92
- ESM dist/chunk-F2TIBXML.mjs 846.00 B
93
- ESM dist/chunk-NZKGYWQV.mjs 7.85 KB
91
+ ESM dist/chunk-GUH3Y2H4.mjs 874.00 B
92
+ ESM dist/chunk-JYVC4AW3.mjs 7.85 KB
94
93
  ESM dist/chunk-CSGFJU3L.mjs 2.01 KB
95
94
  ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
96
95
  ESM dist/chunk-YQU7WG7T.mjs 2.57 KB
@@ -99,13 +98,12 @@ Generated an empty chunk: "chunk-H4VKQGVU".
99
98
  ESM dist/chunk-RQHOUUXQ.mjs 594.00 B
100
99
  ESM dist/chunk-UHD44NC5.mjs 3.13 KB
101
100
  ESM dist/chunk-JAFCXEPU.mjs 496.00 B
102
- ESM dist/chunk-OELUUJZY.mjs 625.00 B
103
101
  ESM dist/chunk-OD7ZMOVE.mjs 1.35 KB
104
102
  ESM dist/chunk-MPME5BW2.mjs 2.16 KB
105
- ESM dist/chunk-BYIG72TT.mjs 3.71 KB
106
- ESM dist/chunk-NO3EYPQH.mjs 789.00 B
107
- ESM dist/chunk-MRPRZQMN.mjs 8.46 KB
108
- ESM dist/chunk-PGGR6HL5.mjs 1.30 KB
103
+ ESM dist/chunk-3L6CNVCE.mjs 3.71 KB
104
+ ESM dist/chunk-O4MHJSK2.mjs 789.00 B
105
+ ESM dist/chunk-GIJ3JZ4P.mjs 8.46 KB
106
+ ESM dist/chunk-4LOLCQGR.mjs 1.38 KB
109
107
  ESM dist/chunk-ND5PXTAW.mjs 575.00 B
110
108
  ESM dist/chunk-2NURR2DX.mjs 1.82 KB
111
109
  ESM dist/chunk-5EJ5XOGP.mjs 815.00 B
@@ -116,7 +114,9 @@ Generated an empty chunk: "chunk-H4VKQGVU".
116
114
  ESM dist/chunk-O5OWT5GE.mjs 4.40 KB
117
115
  ESM dist/chunk-GCMQHIRF.mjs 759.00 B
118
116
  ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
117
+ ESM dist/chunk-6Z2ATUNY.mjs 506.00 B
119
118
  ESM dist/chunk-LNAIMEB2.mjs 1.09 KB
119
+ ESM dist/chunk-OELUUJZY.mjs 625.00 B
120
120
  ESM dist/lib/debouncer.mjs 153.00 B
121
121
  ESM dist/chunk-NKW5OU2S.mjs 959.00 B
122
122
  ESM dist/lib/editor-to-text.mjs 161.00 B
@@ -130,11 +130,11 @@ Generated an empty chunk: "chunk-H4VKQGVU".
130
130
  ESM dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs 227.00 B
131
131
  ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 605.00 B
132
132
  ESM dist/hooks/misc/use-autosize-textarea.mjs 202.00 B
133
- ESM dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs 86.00 B
134
133
  ESM dist/types/base/base-copilot-textarea-props.mjs 89.00 B
135
134
  ESM dist/types/base/custom-editor.mjs 75.00 B
136
135
  ESM dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs 99.00 B
137
136
  ESM dist/types/base/autosuggestion-state.mjs 82.00 B
137
+ ESM dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs 86.00 B
138
138
  ESM dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs 596.00 B
139
139
  ESM dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs 187.00 B
140
140
  ESM dist/types/base/base-autosuggestions-config.mjs 200.00 B
@@ -168,7 +168,6 @@ Generated an empty chunk: "chunk-H4VKQGVU".
168
168
  ESM dist/chunk-WADHCMPK.mjs.map 51.00 B
169
169
  ESM dist/chunk-L7VVZH4Q.mjs.map 51.00 B
170
170
  ESM dist/chunk-WJHSY5T6.mjs.map 51.00 B
171
- ESM dist/chunk-S6JUGJK2.mjs.map 1017.00 B
172
171
  ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
173
172
  ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
174
173
  ESM dist/chunk-4S5ZJH3I.mjs.map 969.00 B
@@ -182,25 +181,25 @@ Generated an empty chunk: "chunk-H4VKQGVU".
182
181
  ESM dist/components/ui/label.mjs.map 51.00 B
183
182
  ESM dist/components/ui/separator.mjs.map 1.26 KB
184
183
  ESM dist/components/ui/textarea.mjs.map 1.10 KB
185
- ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
186
184
  ESM dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map 51.00 B
187
185
  ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs.map 51.00 B
186
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
188
187
  ESM dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map 51.00 B
189
188
  ESM dist/components/hovering-toolbar/hovering-toolbar.mjs.map 51.00 B
190
189
  ESM dist/lib/stream-promise-flatten.mjs.map 51.00 B
191
190
  ESM dist/lib/utils.mjs.map 51.00 B
192
191
  ESM dist/types/index.mjs.map 51.00 B
193
- ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
194
192
  ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
195
193
  ESM dist/components/base-copilot-textarea/render-element.mjs.map 51.00 B
194
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
196
195
  ESM dist/index.mjs.map 51.00 B
197
196
  ESM dist/components/index.mjs.map 51.00 B
198
- ESM dist/chunk-SFEGMBSS.mjs.map 3.40 KB
199
- ESM dist/chunk-DYGPLRY3.mjs.map 4.23 KB
200
- ESM dist/chunk-WPIA53HF.mjs.map 7.54 KB
197
+ ESM dist/chunk-AQHORK66.mjs.map 3.39 KB
198
+ ESM dist/chunk-4UYKBG35.mjs.map 4.22 KB
199
+ ESM dist/chunk-4HHYJGZE.mjs.map 7.53 KB
201
200
  ESM dist/chunk-QJDMIGLU.mjs.map 3.10 KB
202
- ESM dist/chunk-F2TIBXML.mjs.map 1.65 KB
203
- ESM dist/chunk-NZKGYWQV.mjs.map 13.95 KB
201
+ ESM dist/chunk-GUH3Y2H4.mjs.map 1.73 KB
202
+ ESM dist/chunk-JYVC4AW3.mjs.map 13.95 KB
204
203
  ESM dist/chunk-CSGFJU3L.mjs.map 3.82 KB
205
204
  ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
206
205
  ESM dist/chunk-YQU7WG7T.mjs.map 4.80 KB
@@ -209,13 +208,12 @@ Generated an empty chunk: "chunk-H4VKQGVU".
209
208
  ESM dist/chunk-RQHOUUXQ.mjs.map 1.12 KB
210
209
  ESM dist/chunk-UHD44NC5.mjs.map 6.09 KB
211
210
  ESM dist/chunk-JAFCXEPU.mjs.map 880.00 B
212
- ESM dist/chunk-OELUUJZY.mjs.map 957.00 B
213
211
  ESM dist/chunk-OD7ZMOVE.mjs.map 2.66 KB
214
212
  ESM dist/chunk-MPME5BW2.mjs.map 3.48 KB
215
- ESM dist/chunk-BYIG72TT.mjs.map 7.10 KB
216
- ESM dist/chunk-NO3EYPQH.mjs.map 1.48 KB
217
- ESM dist/chunk-MRPRZQMN.mjs.map 13.64 KB
218
- ESM dist/chunk-PGGR6HL5.mjs.map 2.32 KB
213
+ ESM dist/chunk-3L6CNVCE.mjs.map 7.10 KB
214
+ ESM dist/chunk-O4MHJSK2.mjs.map 1.48 KB
215
+ ESM dist/chunk-GIJ3JZ4P.mjs.map 13.64 KB
216
+ ESM dist/chunk-4LOLCQGR.mjs.map 2.48 KB
219
217
  ESM dist/chunk-ND5PXTAW.mjs.map 1.13 KB
220
218
  ESM dist/chunk-2NURR2DX.mjs.map 2.65 KB
221
219
  ESM dist/chunk-5EJ5XOGP.mjs.map 1.15 KB
@@ -226,25 +224,27 @@ Generated an empty chunk: "chunk-H4VKQGVU".
226
224
  ESM dist/chunk-O5OWT5GE.mjs.map 5.87 KB
227
225
  ESM dist/chunk-GCMQHIRF.mjs.map 1.40 KB
228
226
  ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
227
+ ESM dist/chunk-6Z2ATUNY.mjs.map 1.09 KB
229
228
  ESM dist/chunk-LNAIMEB2.mjs.map 1.73 KB
229
+ ESM dist/chunk-OELUUJZY.mjs.map 957.00 B
230
230
  ESM dist/lib/debouncer.mjs.map 51.00 B
231
231
  ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
232
232
  ESM dist/lib/editor-to-text.mjs.map 51.00 B
233
233
  ESM dist/chunk-YTOPHPSG.mjs.map 2.83 KB
234
234
  ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
235
- ESM dist/lib/retry.mjs.map 51.00 B
236
235
  ESM dist/chunk-IXJ2HCOA.mjs.map 5.77 KB
236
+ ESM dist/lib/retry.mjs.map 51.00 B
237
237
  ESM dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map 51.00 B
238
238
  ESM dist/types/base/autosuggestions-bare-function.mjs.map 51.00 B
239
239
  ESM dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map 51.00 B
240
240
  ESM dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map 51.00 B
241
241
  ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
242
242
  ESM dist/hooks/misc/use-autosize-textarea.mjs.map 51.00 B
243
- ESM dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map 51.00 B
244
243
  ESM dist/types/base/base-copilot-textarea-props.mjs.map 51.00 B
245
244
  ESM dist/types/base/custom-editor.mjs.map 51.00 B
246
245
  ESM dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map 51.00 B
247
246
  ESM dist/types/base/autosuggestion-state.mjs.map 51.00 B
247
+ ESM dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map 51.00 B
248
248
  ESM dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map 51.00 B
249
249
  ESM dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs.map 51.00 B
250
250
  ESM dist/types/base/base-autosuggestions-config.mjs.map 51.00 B
@@ -260,8 +260,8 @@ Generated an empty chunk: "chunk-H4VKQGVU".
260
260
  ESM dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map 51.00 B
261
261
  ESM dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map 51.00 B
262
262
  ESM dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map 51.00 B
263
- ESM ⚡️ Build success in 2271ms
264
- DTS ⚡️ Build success in 6457ms
263
+ ESM ⚡️ Build success in 2473ms
264
+ DTS ⚡️ Build success in 6476ms
265
265
  DTS dist/index.d.ts 1.47 KB
266
266
  DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 628.00 B
267
267
  DTS dist/components/copilot-textarea/copilot-textarea.d.ts 1.28 KB
@@ -269,7 +269,7 @@ Generated an empty chunk: "chunk-H4VKQGVU".
269
269
  DTS dist/types/base/autosuggestions-bare-function.d.ts 970.00 B
270
270
  DTS dist/types/base/base-copilot-textarea-props.d.ts 2.19 KB
271
271
  DTS dist/types/html-copilot-textarea-element.d.ts 165.00 B
272
- DTS dist/types/autosuggestions-config/autosuggestions-config.d.ts 944.00 B
272
+ DTS dist/types/autosuggestions-config/autosuggestions-config.d.ts 924.00 B
273
273
  DTS dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.d.ts 129.00 B
274
274
  DTS dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts 114.00 B
275
275
  DTS dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.d.ts 1.29 KB
@@ -310,8 +310,8 @@ Generated an empty chunk: "chunk-H4VKQGVU".
310
310
  DTS dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts 226.00 B
311
311
  DTS dist/types/base/custom-editor.d.ts 801.00 B
312
312
  DTS dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts 326.00 B
313
- DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.71 KB
314
- DTS dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts 1.87 KB
313
+ DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.70 KB
314
+ DTS dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts 1.86 KB
315
315
  DTS dist/hooks/misc/use-autosize-textarea.d.ts 185.00 B
316
316
  DTS dist/lib/slatejs-edits/add-autocompletions.d.ts 302.00 B
317
317
  DTS dist/lib/slatejs-edits/clear-autocompletions.d.ts 250.00 B
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # ui
2
2
 
3
+ ## 0.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - contextCategories no longer optional for reading context
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @copilotkit/react-core@0.13.0
13
+
14
+ ## 0.23.0
15
+
16
+ ### Minor Changes
17
+
18
+ - fixed bug: useMakeCopilotDocumentReadable category reference
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies
23
+ - @copilotkit/react-core@0.12.0
24
+
3
25
  ## 0.22.0
4
26
 
5
27
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- import { HoveringInsertionPromptBox } from './chunk-NO3EYPQH.mjs';
1
+ import { HoveringInsertionPromptBox } from './chunk-O4MHJSK2.mjs';
2
2
  import { useHoveringEditorContext } from './chunk-YW3REYX6.mjs';
3
3
  import { Portal, Menu } from './chunk-XHUMROEY.mjs';
4
4
  import { getTextAroundSelection, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
@@ -105,4 +105,4 @@ function editorState(editor, selection) {
105
105
 
106
106
  export { HoveringToolbar };
107
107
  //# sourceMappingURL=out.js.map
108
- //# sourceMappingURL=chunk-BYIG72TT.mjs.map
108
+ //# sourceMappingURL=chunk-3L6CNVCE.mjs.map
@@ -114,4 +114,4 @@ function useMakeStandardInsertionOrEditingFunction(textareaPurpose, contextCateg
114
114
 
115
115
  export { useMakeStandardInsertionOrEditingFunction };
116
116
  //# sourceMappingURL=out.js.map
117
- //# sourceMappingURL=chunk-WPIA53HF.mjs.map
117
+ //# sourceMappingURL=chunk-4HHYJGZE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,kBAAkB;AA0BjC,SAAS,0CACd,iBACA,mBACA,oBACA,kBACwC;AACxC,QAAM,EAAE,kBAAkB,iBAAiB,IAAI,WAAW,cAAc;AAExE,QAAM,oBAAoB;AAAA,IACxB,CACE,aACA,iBACA,WACA,gBACG;AACH,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,mBAAmB;AAAA,cAC1B;AAAA,cACA,iBAAiB,WAAW,iBAAiB;AAAA,YAC/C;AAAA,UACF;AAAA,UACA,GAAG,mBAAmB;AAAA,UACtB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,eAAO,MAAM,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,UACA,mBAAmB;AAAA,QACrB;AAAA,MACF,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,oBAAoB,kBAAkB,mBAAmB,eAAe;AAAA,EAC3E;AAEA,QAAM,kBAAkB;AAAA,IACtB,CACE,aACA,eACA,WACA,gBACG;AACH,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,iBAAiB;AAAA,cACxB;AAAA,cACA,iBAAiB,WAAW,iBAAiB;AAAA,YAC/C;AAAA,UACF;AAAA,UACA,GAAG,iBAAiB;AAAA,UACpB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,eAAO,MAAM,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,UACA,iBAAiB;AAAA,QACnB;AAAA,MACF,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,kBAAkB,kBAAkB,mBAAmB,eAAe;AAAA,EACzE;AAEA,QAAM,6BAA6B;AAAA,IACjC,CACE,aACA,iBACA,WACA,gBACG;AACH,UAAI,YAAY,iBAAiB,IAAI;AACnC,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,OAAO;AACL,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,mBAAmB,eAAe;AAAA,EACrC;AAEA,SAAO;AACT","sourcesContent":["import { CopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback, useContext } from \"react\";\nimport { ChatlikeApiEndpoint, MinimalChatGPTMessage } from \"../../types\";\nimport { retry } from \"../../lib/retry\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\n InsertionEditorApiConfig,\n InsertionEditorState,\n} from \"../../types/base/autosuggestions-bare-function\";\nimport { InsertionsApiConfig } from \"../../types/autosuggestions-config/insertions-api-config\";\nimport { EditingApiConfig } from \"../../types/autosuggestions-config/editing-api-config\";\nimport { DocumentPointer } from \"@copilotkit/react-core\";\n\n/**\n * Returns a memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n * The function takes in the text before and after the cursor, and an abort signal.\n * It sends a POST request to the API endpoint with the messages array containing the system message, few shot messages, and user messages.\n * The function returns the suggestion from the API response.\n *\n * @param textareaPurpose - The purpose of the textarea. This is included in the system message.\n * @param apiEndpoint - The API endpoint to send the autosuggestion request to.\n * @param makeSystemMessage - A function that takes in a context string and returns a system message to include in the autosuggestion request.\n * @param fewShotMessages - An array of few shot messages to include in the autosuggestion request.\n * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) \"global\" context category.\n * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n */\nexport function useMakeStandardInsertionOrEditingFunction(\n textareaPurpose: string,\n contextCategories: string[],\n insertionApiConfig: InsertionsApiConfig,\n editingApiConfig: EditingApiConfig\n): Generator_InsertionOrEditingSuggestion {\n const { getContextString, copilotApiConfig } = useContext(CopilotContext);\n\n const insertionFunction = useCallback(\n async (\n editorState: EditingEditorState,\n insertionPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: insertionApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories)\n ),\n },\n ...insertionApiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n {\n role: \"user\",\n name: \"InsertionPrompt\",\n content: insertionPrompt,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n return await apiEndpoint.run(\n abortSignal,\n messages,\n insertionApiConfig.forwardedParams\n );\n });\n\n return res;\n },\n [insertionApiConfig, getContextString, contextCategories, textareaPurpose]\n );\n\n const editingFunction = useCallback(\n async (\n editorState: EditingEditorState,\n editingPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: editingApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories)\n ),\n },\n ...editingApiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n {\n role: \"user\",\n name: \"TextToEdit\",\n content: editorState.selectedText,\n },\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"EditingPrompt\",\n content: editingPrompt,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n return await apiEndpoint.run(\n abortSignal,\n messages,\n editingApiConfig.forwardedParams\n );\n });\n\n return res;\n },\n [editingApiConfig, getContextString, contextCategories, textareaPurpose]\n );\n\n const insertionOrEditingFunction = useCallback(\n async (\n editorState: EditingEditorState,\n insertionPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n if (editorState.selectedText === \"\") {\n return await insertionFunction(\n editorState,\n insertionPrompt,\n documents,\n abortSignal\n );\n } else {\n return await editingFunction(\n editorState,\n insertionPrompt,\n documents,\n abortSignal\n );\n }\n },\n [insertionFunction, editingFunction]\n );\n\n return insertionOrEditingFunction;\n}\n"]}
@@ -38,6 +38,8 @@ var FileChipPreview = ({
38
38
  label: filePointer.name,
39
39
  onDelete,
40
40
  avatar: /* @__PURE__ */ jsx(Avatar, {
41
+ src: filePointer.iconImageUri,
42
+ alt: filePointer.sourceApplication,
41
43
  sx: { backgroundColor: "transparent" }
42
44
  })
43
45
  });
@@ -45,4 +47,4 @@ var FileChipPreview = ({
45
47
 
46
48
  export { FileChipPreview, IncludedFilesPreview };
47
49
  //# sourceMappingURL=out.js.map
48
- //# sourceMappingURL=chunk-PGGR6HL5.mjs.map
50
+ //# sourceMappingURL=chunk-4LOLCQGR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx"],"names":[],"mappings":";;;;;AAGA,OAAO,UAAU;AACjB,OAAO,YAAY;AAYf,SACE,KADF;AALG,IAAM,uBAA4D,CAAC;AAAA,EACxE;AAAA,EACA;AACF,MAAM;AACJ,SACE,qBAAC;AAAA,IAAI,WAAU;AAAA,IACb;AAAA,0BAAC;AAAA,QAAM,WAAU;AAAA,QAAG;AAAA,OAAiB;AAAA,MACrC,oBAAC;AAAA,QAAI,WAAU;AAAA,QACZ,wBAAc,IAAI,CAAC,aAAa,UAAU;AACzC,iBACE,oBAAC;AAAA,YAEC;AAAA,YACA,UAAU,MAAM;AACd;AAAA,gBAAiB,CAAC,SAChB,KAAK,OAAO,CAAC,OAAO,OAAO,WAAW;AAAA,cACxC;AAAA,YACF;AAAA,aANK,QAAQ,YAAY,qBAAqB,YAAY,MAO5D;AAAA,QAEJ,CAAC;AAAA,OACH;AAAA;AAAA,GACF;AAEJ;AAOO,IAAM,kBAAiD,CAAC;AAAA,EAC7D;AAAA,EACA;AACF,MAAM;AACJ,SACE,oBAAC;AAAA,IACC,OAAO,YAAY;AAAA,IACnB;AAAA,IACA,QACE,oBAAC;AAAA,MACC,KAAK,YAAY;AAAA,MACjB,KAAK,YAAY;AAAA,MACjB,IAAI,EAAE,iBAAiB,cAAc;AAAA,KACtC;AAAA,GAEL;AAEJ","sourcesContent":["import { DocumentPointer } from \"@copilotkit/react-core\";\nimport { Label } from \"../../ui/label\";\nimport React from \"react\";\nimport Chip from \"@mui/material/Chip/Chip.js\";\nimport Avatar from \"@mui/material/Avatar/Avatar.js\";\n\nexport interface IncludedFilesPreviewProps {\n includedFiles: DocumentPointer[];\n setIncludedFiles: React.Dispatch<React.SetStateAction<DocumentPointer[]>>;\n}\n\nexport const IncludedFilesPreview: React.FC<IncludedFilesPreviewProps> = ({\n includedFiles,\n setIncludedFiles,\n}) => {\n return (\n <div className=\"flex flex-col gap-2 mt-2\">\n <Label className=\"\">Included context:</Label>\n <div className=\"flex flex-wrap gap-2\">\n {includedFiles.map((filePointer, index) => {\n return (\n <FileChipPreview\n key={`file-${filePointer.sourceApplication}.${filePointer.name}`}\n filePointer={filePointer}\n onDelete={() => {\n setIncludedFiles((prev) =>\n prev.filter((fp) => fp !== filePointer)\n );\n }}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nexport interface FileChipPreviewProp {\n filePointer: DocumentPointer;\n onDelete: () => void;\n}\n\nexport const FileChipPreview: React.FC<FileChipPreviewProp> = ({\n filePointer,\n onDelete,\n}) => {\n return (\n <Chip\n label={filePointer.name}\n onDelete={onDelete}\n avatar={\n <Avatar\n src={filePointer.iconImageUri}\n alt={filePointer.sourceApplication}\n sx={{ backgroundColor: \"transparent\" }}\n ></Avatar>\n }\n />\n );\n};\n"]}
@@ -54,4 +54,4 @@ function useMakeStandardAutosuggestionFunction(textareaPurpose, contextCategorie
54
54
 
55
55
  export { useMakeStandardAutosuggestionFunction };
56
56
  //# sourceMappingURL=out.js.map
57
- //# sourceMappingURL=chunk-DYGPLRY3.mjs.map
57
+ //# sourceMappingURL=chunk-4UYKBG35.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,kBAAkB;AAsBjC,SAAS,sCACd,iBACA,mBACA,WAC6B;AAC7B,QAAM,EAAE,kBAAkB,iBAAiB,IAAI,WAAW,cAAc;AAExE,SAAO;AAAA,IACL,CAAO,aAAmC,gBAA6B;AACrE,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,UAAU;AAAA,cACjB;AAAA,cACA,iBAAiB,CAAC,GAAG,iBAAiB;AAAA,YACxC;AAAA,UACF;AAAA,UACA,GAAG,UAAU;AAAA,UACb;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,cAAM,SAAS,MAAM,YAAY;AAAA,UAC/B;AAAA,UACA;AAAA,UACA,UAAU;AAAA,QACZ;AAGA,cAAM,SAAS,OAAO,UAAU;AAChC,YAAI,SAAS;AAEb,eAAO,MAAM;AACX,gBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,cAAI,MAAM;AACR;AAAA,UACF;AACA,oBAAU;AAAA,QACZ;AAEA,eAAO;AAAA,MACT,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,WAAW,kBAAkB,mBAAmB,eAAe;AAAA,EAClE;AACF","sourcesContent":["import { CopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback, useContext } from \"react\";\nimport {\n AutosuggestionsBareFunction,\n ChatlikeApiEndpoint,\n MinimalChatGPTMessage,\n} from \"../../types\";\nimport { retry } from \"../../lib/retry\";\nimport { InsertionEditorState } from \"../../types/base/autosuggestions-bare-function\";\nimport { SuggestionsApiConfig } from \"../../types/autosuggestions-config/suggestions-api-config\";\n/**\n * Returns a memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n * The function takes in the text before and after the cursor, and an abort signal.\n * It sends a POST request to the API endpoint with the messages array containing the system message, few shot messages, and user messages.\n * The function returns the suggestion from the API response.\n *\n * @param textareaPurpose - The purpose of the textarea. This is included in the system message.\n * @param apiEndpoint - The API endpoint to send the autosuggestion request to.\n * @param makeSystemMessage - A function that takes in a context string and returns a system message to include in the autosuggestion request.\n * @param fewShotMessages - An array of few shot messages to include in the autosuggestion request.\n * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) \"global\" context category.\n * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n */\nexport function useMakeStandardAutosuggestionFunction(\n textareaPurpose: string,\n contextCategories: string[] | undefined,\n apiConfig: SuggestionsApiConfig\n): AutosuggestionsBareFunction {\n const { getContextString, copilotApiConfig } = useContext(CopilotContext);\n\n return useCallback(\n async (editorState: InsertionEditorState, abortSignal: AbortSignal) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: apiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString([], contextCategories)\n ),\n },\n ...apiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n const stream = await apiEndpoint.run(\n abortSignal,\n messages,\n apiConfig.forwardedParams\n );\n\n // read the stream:\n const reader = stream.getReader();\n let result = \"\";\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n result += value;\n }\n\n return result;\n });\n\n return res;\n },\n [apiConfig, getContextString, contextCategories, textareaPurpose]\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,kBAAkB;AAsBjC,SAAS,sCACd,iBACA,mBACA,WAC6B;AAC7B,QAAM,EAAE,kBAAkB,iBAAiB,IAAI,WAAW,cAAc;AAExE,SAAO;AAAA,IACL,CAAO,aAAmC,gBAA6B;AACrE,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,UAAU;AAAA,cACjB;AAAA,cACA,iBAAiB,CAAC,GAAG,iBAAiB;AAAA,YACxC;AAAA,UACF;AAAA,UACA,GAAG,UAAU;AAAA,UACb;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,cAAM,SAAS,MAAM,YAAY;AAAA,UAC/B;AAAA,UACA;AAAA,UACA,UAAU;AAAA,QACZ;AAGA,cAAM,SAAS,OAAO,UAAU;AAChC,YAAI,SAAS;AAEb,eAAO,MAAM;AACX,gBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,cAAI,MAAM;AACR;AAAA,UACF;AACA,oBAAU;AAAA,QACZ;AAEA,eAAO;AAAA,MACT,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,WAAW,kBAAkB,mBAAmB,eAAe;AAAA,EAClE;AACF","sourcesContent":["import { CopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback, useContext } from \"react\";\nimport {\n AutosuggestionsBareFunction,\n ChatlikeApiEndpoint,\n MinimalChatGPTMessage,\n} from \"../../types\";\nimport { retry } from \"../../lib/retry\";\nimport { InsertionEditorState } from \"../../types/base/autosuggestions-bare-function\";\nimport { SuggestionsApiConfig } from \"../../types/autosuggestions-config/suggestions-api-config\";\n/**\n * Returns a memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n * The function takes in the text before and after the cursor, and an abort signal.\n * It sends a POST request to the API endpoint with the messages array containing the system message, few shot messages, and user messages.\n * The function returns the suggestion from the API response.\n *\n * @param textareaPurpose - The purpose of the textarea. This is included in the system message.\n * @param apiEndpoint - The API endpoint to send the autosuggestion request to.\n * @param makeSystemMessage - A function that takes in a context string and returns a system message to include in the autosuggestion request.\n * @param fewShotMessages - An array of few shot messages to include in the autosuggestion request.\n * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) \"global\" context category.\n * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n */\nexport function useMakeStandardAutosuggestionFunction(\n textareaPurpose: string,\n contextCategories: string[],\n apiConfig: SuggestionsApiConfig\n): AutosuggestionsBareFunction {\n const { getContextString, copilotApiConfig } = useContext(CopilotContext);\n\n return useCallback(\n async (editorState: InsertionEditorState, abortSignal: AbortSignal) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: apiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString([], contextCategories)\n ),\n },\n ...apiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n const stream = await apiEndpoint.run(\n abortSignal,\n messages,\n apiConfig.forwardedParams\n );\n\n // read the stream:\n const reader = stream.getReader();\n let result = \"\";\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n result += value;\n }\n\n return result;\n });\n\n return res;\n },\n [apiConfig, getContextString, contextCategories, textareaPurpose]\n );\n}\n"]}
@@ -1,7 +1,9 @@
1
+ import { defaultCopilotContextCategories } from '@copilotkit/react-core';
2
+
1
3
  // src/types/base/base-autosuggestions-config.tsx
2
4
  var defaultBaseAutosuggestionsConfig = {
3
5
  debounceTime: 250,
4
- contextCategories: ["global"],
6
+ contextCategories: defaultCopilotContextCategories,
5
7
  acceptAutosuggestionKey: "Tab",
6
8
  disableWhenEmpty: true,
7
9
  disabled: false,
@@ -10,4 +12,4 @@ var defaultBaseAutosuggestionsConfig = {
10
12
 
11
13
  export { defaultBaseAutosuggestionsConfig };
12
14
  //# sourceMappingURL=out.js.map
13
- //# sourceMappingURL=chunk-S6JUGJK2.mjs.map
15
+ //# sourceMappingURL=chunk-6Z2ATUNY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/base/base-autosuggestions-config.tsx"],"names":[],"mappings":";AACA,SAAS,uCAAuC;AAazC,IAAM,mCAGT;AAAA,EACF,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,uDAAuD;AACzD","sourcesContent":["import { BaseCopilotTextareaApiConfig } from \"./autosuggestions-bare-function\";\nimport { defaultCopilotContextCategories } from \"@copilotkit/react-core\";\n\nexport interface BaseAutosuggestionsConfig {\n textareaPurpose: string;\n contextCategories: string[];\n debounceTime: number;\n acceptAutosuggestionKey: string;\n disableWhenEmpty: boolean;\n disabled: boolean;\n temporarilyDisableWhenMovingCursorWithoutChangingText: boolean;\n apiConfig: BaseCopilotTextareaApiConfig;\n}\n\nexport const defaultBaseAutosuggestionsConfig: Omit<\n BaseAutosuggestionsConfig,\n \"textareaPurpose\" | \"apiConfig\"\n> = {\n debounceTime: 250,\n contextCategories: defaultCopilotContextCategories,\n acceptAutosuggestionKey: \"Tab\",\n disableWhenEmpty: true,\n disabled: false,\n temporarilyDisableWhenMovingCursorWithoutChangingText: true,\n};\n"]}
@@ -1,7 +1,7 @@
1
- import { useMakeStandardAutosuggestionFunction } from './chunk-DYGPLRY3.mjs';
2
- import { useMakeStandardInsertionOrEditingFunction } from './chunk-WPIA53HF.mjs';
3
- import { defaultAutosuggestionsConfig } from './chunk-F2TIBXML.mjs';
4
- import { BaseCopilotTextarea } from './chunk-NZKGYWQV.mjs';
1
+ import { useMakeStandardAutosuggestionFunction } from './chunk-4UYKBG35.mjs';
2
+ import { useMakeStandardInsertionOrEditingFunction } from './chunk-4HHYJGZE.mjs';
3
+ import { defaultAutosuggestionsConfig } from './chunk-GUH3Y2H4.mjs';
4
+ import { BaseCopilotTextarea } from './chunk-JYVC4AW3.mjs';
5
5
  import { __objRest, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
6
6
  import React from 'react';
7
7
  import merge from 'lodash.merge';
@@ -20,12 +20,12 @@ var CopilotTextarea = React.forwardRef(
20
20
  );
21
21
  const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(
22
22
  autosuggestionsConfig.textareaPurpose,
23
- autosuggestionsConfig.externalContextCategories,
23
+ autosuggestionsConfig.contextCategories,
24
24
  autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig
25
25
  );
26
26
  const insertionOrEditingFunction = useMakeStandardInsertionOrEditingFunction(
27
27
  autosuggestionsConfig.textareaPurpose,
28
- autosuggestionsConfig.externalContextCategories,
28
+ autosuggestionsConfig.contextCategories,
29
29
  autosuggestionsConfig.chatApiConfigs.insertionApiConfig,
30
30
  autosuggestionsConfig.chatApiConfigs.editingApiConfig
31
31
  );
@@ -46,4 +46,4 @@ var CopilotTextarea = React.forwardRef(
46
46
 
47
47
  export { CopilotTextarea };
48
48
  //# sourceMappingURL=out.js.map
49
- //# sourceMappingURL=chunk-SFEGMBSS.mjs.map
49
+ //# sourceMappingURL=chunk-AQHORK66.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/copilot-textarea/copilot-textarea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAUlB,OAAO,WAAW;AAyCZ,mBACE,WADF;AA/BC,IAAM,kBAAkB,MAAM;AAAA,EACnC,CACE,OACA,QACgB;AAEhB,UAGI,YAFF;AAAA,6BAAuB;AAAA,IA5B7B,IA8BQ,IADC,2BACD,IADC;AAAA,MADH;AAAA;AAIF,UAAM,wBAA+C;AAAA,MACnD;AAAA,MACA;AAAA,IACF;AAEA,UAAM,0BAA0B;AAAA,MAC9B,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,IACvC;AAEA,UAAM,6BACJ;AAAA,MACE,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,MACrC,sBAAsB,eAAe;AAAA,IACvC;AAEF,WACE;AAAA,MACE,8BAAC;AAAA,QACC;AAAA,SACI,iBAFL;AAAA,QAGC,2BAA2B,iCACtB,wBADsB;AAAA,UAEzB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACF;AAAA,KACF;AAAA,EAEJ;AACF","sourcesContent":["// This example is for an Editor with `ReactEditor` and `HistoryEditor`\nimport React from \"react\";\nimport { useMakeStandardAutosuggestionFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function\";\nimport { HTMLCopilotTextAreaElement } from \"../../types\";\nimport { BaseCopilotTextareaProps } from \"../../types/base/base-copilot-textarea-props\";\nimport {\n AutosuggestionsConfig,\n defaultAutosuggestionsConfig,\n} from \"../../types/autosuggestions-config\";\nimport { BaseCopilotTextarea } from \"../base-copilot-textarea/base-copilot-textarea\";\nimport { useMakeStandardInsertionOrEditingFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-insertion-function\";\nimport merge from \"lodash.merge\";\nimport { AutosuggestionsConfigUserSpecified } from \"../../types/autosuggestions-config/autosuggestions-config-user-specified\";\n\n// Like the base copilot textarea props,\n// but with baseAutosuggestionsConfig replaced with autosuggestionsConfig.\nexport interface CopilotTextareaProps\n extends Omit<BaseCopilotTextareaProps, \"baseAutosuggestionsConfig\"> {\n autosuggestionsConfig: AutosuggestionsConfigUserSpecified;\n}\n\nexport const CopilotTextarea = React.forwardRef(\n (\n props: CopilotTextareaProps,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n ): JSX.Element => {\n // separate the AutosuggestionsConfigUserSpecified from the rest of the props\n const {\n autosuggestionsConfig: autosuggestionsConfigUserSpecified,\n ...forwardedProps\n } = props;\n\n const autosuggestionsConfig: AutosuggestionsConfig = merge(\n defaultAutosuggestionsConfig,\n autosuggestionsConfigUserSpecified\n );\n\n const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.externalContextCategories,\n autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig\n );\n\n const insertionOrEditingFunction =\n useMakeStandardInsertionOrEditingFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.externalContextCategories,\n autosuggestionsConfig.chatApiConfigs.insertionApiConfig,\n autosuggestionsConfig.chatApiConfigs.editingApiConfig\n );\n\n return (\n <>\n <BaseCopilotTextarea\n ref={ref}\n {...forwardedProps}\n baseAutosuggestionsConfig={{\n ...autosuggestionsConfig,\n apiConfig: {\n insertionOrEditingFunction: insertionOrEditingFunction,\n autosuggestionsFunction: autosuggestionsFunction,\n },\n }}\n />\n </>\n );\n }\n);\n"]}
1
+ {"version":3,"sources":["../src/components/copilot-textarea/copilot-textarea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAUlB,OAAO,WAAW;AAyCZ,mBACE,WADF;AA/BC,IAAM,kBAAkB,MAAM;AAAA,EACnC,CACE,OACA,QACgB;AAEhB,UAGI,YAFF;AAAA,6BAAuB;AAAA,IA5B7B,IA8BQ,IADC,2BACD,IADC;AAAA,MADH;AAAA;AAIF,UAAM,wBAA+C;AAAA,MACnD;AAAA,MACA;AAAA,IACF;AAEA,UAAM,0BAA0B;AAAA,MAC9B,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,IACvC;AAEA,UAAM,6BACJ;AAAA,MACE,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,MACrC,sBAAsB,eAAe;AAAA,IACvC;AAEF,WACE;AAAA,MACE,8BAAC;AAAA,QACC;AAAA,SACI,iBAFL;AAAA,QAGC,2BAA2B,iCACtB,wBADsB;AAAA,UAEzB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACF;AAAA,KACF;AAAA,EAEJ;AACF","sourcesContent":["// This example is for an Editor with `ReactEditor` and `HistoryEditor`\nimport React from \"react\";\nimport { useMakeStandardAutosuggestionFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function\";\nimport { HTMLCopilotTextAreaElement } from \"../../types\";\nimport { BaseCopilotTextareaProps } from \"../../types/base/base-copilot-textarea-props\";\nimport {\n AutosuggestionsConfig,\n defaultAutosuggestionsConfig,\n} from \"../../types/autosuggestions-config\";\nimport { BaseCopilotTextarea } from \"../base-copilot-textarea/base-copilot-textarea\";\nimport { useMakeStandardInsertionOrEditingFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-insertion-function\";\nimport merge from \"lodash.merge\";\nimport { AutosuggestionsConfigUserSpecified } from \"../../types/autosuggestions-config/autosuggestions-config-user-specified\";\n\n// Like the base copilot textarea props,\n// but with baseAutosuggestionsConfig replaced with autosuggestionsConfig.\nexport interface CopilotTextareaProps\n extends Omit<BaseCopilotTextareaProps, \"baseAutosuggestionsConfig\"> {\n autosuggestionsConfig: AutosuggestionsConfigUserSpecified;\n}\n\nexport const CopilotTextarea = React.forwardRef(\n (\n props: CopilotTextareaProps,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n ): JSX.Element => {\n // separate the AutosuggestionsConfigUserSpecified from the rest of the props\n const {\n autosuggestionsConfig: autosuggestionsConfigUserSpecified,\n ...forwardedProps\n } = props;\n\n const autosuggestionsConfig: AutosuggestionsConfig = merge(\n defaultAutosuggestionsConfig,\n autosuggestionsConfigUserSpecified\n );\n\n const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.contextCategories,\n autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig\n );\n\n const insertionOrEditingFunction =\n useMakeStandardInsertionOrEditingFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.contextCategories,\n autosuggestionsConfig.chatApiConfigs.insertionApiConfig,\n autosuggestionsConfig.chatApiConfigs.editingApiConfig\n );\n\n return (\n <>\n <BaseCopilotTextarea\n ref={ref}\n {...forwardedProps}\n baseAutosuggestionsConfig={{\n ...autosuggestionsConfig,\n apiConfig: {\n insertionOrEditingFunction: insertionOrEditingFunction,\n autosuggestionsFunction: autosuggestionsFunction,\n },\n }}\n />\n </>\n );\n }\n);\n"]}
@@ -1,4 +1,4 @@
1
- import { IncludedFilesPreview } from './chunk-PGGR6HL5.mjs';
1
+ import { IncludedFilesPreview } from './chunk-4LOLCQGR.mjs';
2
2
  import { use_autosize_textarea_default } from './chunk-ND5PXTAW.mjs';
3
3
  import { Button } from './chunk-2NURR2DX.mjs';
4
4
  import { Label } from './chunk-5EJ5XOGP.mjs';
@@ -221,4 +221,4 @@ var HoveringInsertionPromptBoxCore = ({
221
221
 
222
222
  export { HoveringInsertionPromptBoxCore };
223
223
  //# sourceMappingURL=out.js.map
224
- //# sourceMappingURL=chunk-MRPRZQMN.mjs.map
224
+ //# sourceMappingURL=chunk-GIJ3JZ4P.mjs.map
@@ -1,12 +1,12 @@
1
1
  import { defaultEditingApiConfig } from './chunk-AXN37AHC.mjs';
2
2
  import { defaultInsertionsApiConfig } from './chunk-RR6OQGTI.mjs';
3
3
  import { defaultSuggestionsApiConfig } from './chunk-JHTAOLEW.mjs';
4
- import { defaultBaseAutosuggestionsConfig } from './chunk-S6JUGJK2.mjs';
4
+ import { defaultBaseAutosuggestionsConfig } from './chunk-6Z2ATUNY.mjs';
5
5
  import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
6
+ import { defaultCopilotContextCategories } from '@copilotkit/react-core';
6
7
 
7
- // src/types/autosuggestions-config/autosuggestions-config.tsx
8
8
  var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseAutosuggestionsConfig), {
9
- externalContextCategories: void 0,
9
+ contextCategories: defaultCopilotContextCategories,
10
10
  chatApiConfigs: {
11
11
  suggestionsApiConfig: defaultSuggestionsApiConfig,
12
12
  insertionApiConfig: defaultInsertionsApiConfig,
@@ -16,4 +16,4 @@ var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseA
16
16
 
17
17
  export { defaultAutosuggestionsConfig };
18
18
  //# sourceMappingURL=out.js.map
19
- //# sourceMappingURL=chunk-F2TIBXML.mjs.map
19
+ //# sourceMappingURL=chunk-GUH3Y2H4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/autosuggestions-config/autosuggestions-config.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,SAAS,uCAAuC;AAezC,IAAM,+BAGT,iCACC,mCADD;AAAA,EAEF,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,IACd,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,EACpB;AACF","sourcesContent":["import {\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../base\";\nimport {\n SuggestionsApiConfig,\n defaultSuggestionsApiConfig,\n} from \"./suggestions-api-config\";\nimport {\n InsertionsApiConfig,\n defaultInsertionsApiConfig,\n} from \"./insertions-api-config\";\nimport { ChatlikeApiEndpoint } from \".\";\nimport {\n EditingApiConfig,\n defaultEditingApiConfig,\n} from \"./editing-api-config\";\nimport { defaultCopilotContextCategories } from \"@copilotkit/react-core\";\n\n// Like the base autosuggestions config, with 2 additional fields:\n// 1. contextCategories: string[] | undefined;\n// 2. instead of apiConfigs, we have chatApiConfigs: a higher-level abstraction that uses a ChatGPT-like API endpoint.\nexport interface AutosuggestionsConfig\n extends Omit<BaseAutosuggestionsConfig, \"apiConfig\"> {\n contextCategories: string[];\n chatApiConfigs: {\n suggestionsApiConfig: SuggestionsApiConfig;\n insertionApiConfig: InsertionsApiConfig;\n editingApiConfig: EditingApiConfig;\n };\n}\n\nexport const defaultAutosuggestionsConfig: Omit<\n AutosuggestionsConfig,\n \"textareaPurpose\" | \"apiEndpoint\"\n> = {\n ...defaultBaseAutosuggestionsConfig,\n contextCategories: defaultCopilotContextCategories,\n chatApiConfigs: {\n suggestionsApiConfig: defaultSuggestionsApiConfig,\n insertionApiConfig: defaultInsertionsApiConfig,\n editingApiConfig: defaultEditingApiConfig,\n },\n};\n"]}
@@ -4,13 +4,13 @@ import { addAutocompletionsToEditor } from './chunk-WJYQWL4I.mjs';
4
4
  import { clearAutocompletionsFromEditor } from './chunk-F3MHL6ZY.mjs';
5
5
  import { replaceEditorText } from './chunk-RQHOUUXQ.mjs';
6
6
  import { useAutosuggestions } from './chunk-UHD44NC5.mjs';
7
- import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
8
7
  import { TrackerTextEditedSinceLastCursorMovement } from './chunk-OD7ZMOVE.mjs';
9
8
  import { useAddBrandingCss } from './chunk-MPME5BW2.mjs';
10
- import { HoveringToolbar } from './chunk-BYIG72TT.mjs';
9
+ import { HoveringToolbar } from './chunk-3L6CNVCE.mjs';
11
10
  import { useHoveringEditorContext, HoveringEditorProvider } from './chunk-YW3REYX6.mjs';
12
- import { defaultBaseAutosuggestionsConfig } from './chunk-S6JUGJK2.mjs';
11
+ import { defaultBaseAutosuggestionsConfig } from './chunk-6Z2ATUNY.mjs';
13
12
  import { makeRenderElementFunction } from './chunk-LNAIMEB2.mjs';
13
+ import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
14
14
  import { getTextAroundCollapsedCursor, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
15
15
  import { __spreadValues, __objRest, __spreadProps } from './chunk-MRXNTQOX.mjs';
16
16
  import React, { useMemo, useState, useCallback, useEffect } from 'react';
@@ -202,4 +202,4 @@ var BaseCopilotTextarea = React.forwardRef(
202
202
 
203
203
  export { BaseCopilotTextarea };
204
204
  //# sourceMappingURL=out.js.map
205
- //# sourceMappingURL=chunk-NZKGYWQV.mjs.map
205
+ //# sourceMappingURL=chunk-JYVC4AW3.mjs.map
@@ -1,4 +1,4 @@
1
- import { HoveringInsertionPromptBoxCore } from './chunk-MRPRZQMN.mjs';
1
+ import { HoveringInsertionPromptBoxCore } from './chunk-GIJ3JZ4P.mjs';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
4
  var HoveringInsertionPromptBox = (props) => {
@@ -18,4 +18,4 @@ var HoveringInsertionPromptBox = (props) => {
18
18
 
19
19
  export { HoveringInsertionPromptBox };
20
20
  //# sourceMappingURL=out.js.map
21
- //# sourceMappingURL=chunk-NO3EYPQH.mjs.map
21
+ //# sourceMappingURL=chunk-O4MHJSK2.mjs.map
@@ -1,4 +1,4 @@
1
- export { BaseCopilotTextarea } from '../../chunk-NZKGYWQV.mjs';
1
+ export { BaseCopilotTextarea } from '../../chunk-JYVC4AW3.mjs';
2
2
  import '../../chunk-CSGFJU3L.mjs';
3
3
  import '../../chunk-KCHYD3EB.mjs';
4
4
  import '../../chunk-YQU7WG7T.mjs';
@@ -7,14 +7,13 @@ import '../../chunk-F3MHL6ZY.mjs';
7
7
  import '../../chunk-RQHOUUXQ.mjs';
8
8
  import '../../chunk-UHD44NC5.mjs';
9
9
  import '../../chunk-JAFCXEPU.mjs';
10
- import '../../chunk-OELUUJZY.mjs';
11
10
  import '../../chunk-OD7ZMOVE.mjs';
12
11
  import '../../chunk-MPME5BW2.mjs';
13
- import '../../chunk-BYIG72TT.mjs';
12
+ import '../../chunk-3L6CNVCE.mjs';
14
13
  import '../../chunk-L7VVZH4Q.mjs';
15
- import '../../chunk-NO3EYPQH.mjs';
16
- import '../../chunk-MRPRZQMN.mjs';
17
- import '../../chunk-PGGR6HL5.mjs';
14
+ import '../../chunk-O4MHJSK2.mjs';
15
+ import '../../chunk-GIJ3JZ4P.mjs';
16
+ import '../../chunk-4LOLCQGR.mjs';
18
17
  import '../../chunk-ND5PXTAW.mjs';
19
18
  import '../../chunk-2NURR2DX.mjs';
20
19
  import '../../chunk-5EJ5XOGP.mjs';
@@ -26,8 +25,9 @@ import '../../chunk-O5OWT5GE.mjs';
26
25
  import '../../chunk-GCMQHIRF.mjs';
27
26
  import '../../chunk-KGKLUWKW.mjs';
28
27
  import '../../chunk-WJHSY5T6.mjs';
29
- import '../../chunk-S6JUGJK2.mjs';
28
+ import '../../chunk-6Z2ATUNY.mjs';
30
29
  import '../../chunk-LNAIMEB2.mjs';
30
+ import '../../chunk-OELUUJZY.mjs';
31
31
  import '../../chunk-NKW5OU2S.mjs';
32
32
  import '../../chunk-YTOPHPSG.mjs';
33
33
  import '../../chunk-IXJ2HCOA.mjs';
@@ -1,15 +1,15 @@
1
- export { CopilotTextarea } from '../../chunk-SFEGMBSS.mjs';
2
- import '../../chunk-DYGPLRY3.mjs';
3
- import '../../chunk-WPIA53HF.mjs';
1
+ export { CopilotTextarea } from '../../chunk-AQHORK66.mjs';
2
+ import '../../chunk-4UYKBG35.mjs';
3
+ import '../../chunk-4HHYJGZE.mjs';
4
4
  import '../../chunk-DE5K76I2.mjs';
5
5
  import '../../chunk-5FO6ISW4.mjs';
6
6
  import '../../chunk-QJDMIGLU.mjs';
7
- import '../../chunk-F2TIBXML.mjs';
7
+ import '../../chunk-GUH3Y2H4.mjs';
8
8
  import '../../chunk-AXN37AHC.mjs';
9
9
  import '../../chunk-RR6OQGTI.mjs';
10
10
  import '../../chunk-JHTAOLEW.mjs';
11
11
  import '../../chunk-WADHCMPK.mjs';
12
- import '../../chunk-NZKGYWQV.mjs';
12
+ import '../../chunk-JYVC4AW3.mjs';
13
13
  import '../../chunk-CSGFJU3L.mjs';
14
14
  import '../../chunk-KCHYD3EB.mjs';
15
15
  import '../../chunk-YQU7WG7T.mjs';
@@ -18,14 +18,13 @@ import '../../chunk-F3MHL6ZY.mjs';
18
18
  import '../../chunk-RQHOUUXQ.mjs';
19
19
  import '../../chunk-UHD44NC5.mjs';
20
20
  import '../../chunk-JAFCXEPU.mjs';
21
- import '../../chunk-OELUUJZY.mjs';
22
21
  import '../../chunk-OD7ZMOVE.mjs';
23
22
  import '../../chunk-MPME5BW2.mjs';
24
- import '../../chunk-BYIG72TT.mjs';
23
+ import '../../chunk-3L6CNVCE.mjs';
25
24
  import '../../chunk-L7VVZH4Q.mjs';
26
- import '../../chunk-NO3EYPQH.mjs';
27
- import '../../chunk-MRPRZQMN.mjs';
28
- import '../../chunk-PGGR6HL5.mjs';
25
+ import '../../chunk-O4MHJSK2.mjs';
26
+ import '../../chunk-GIJ3JZ4P.mjs';
27
+ import '../../chunk-4LOLCQGR.mjs';
29
28
  import '../../chunk-ND5PXTAW.mjs';
30
29
  import '../../chunk-2NURR2DX.mjs';
31
30
  import '../../chunk-5EJ5XOGP.mjs';
@@ -37,8 +36,9 @@ import '../../chunk-O5OWT5GE.mjs';
37
36
  import '../../chunk-GCMQHIRF.mjs';
38
37
  import '../../chunk-KGKLUWKW.mjs';
39
38
  import '../../chunk-WJHSY5T6.mjs';
40
- import '../../chunk-S6JUGJK2.mjs';
39
+ import '../../chunk-6Z2ATUNY.mjs';
41
40
  import '../../chunk-LNAIMEB2.mjs';
41
+ import '../../chunk-OELUUJZY.mjs';
42
42
  import '../../chunk-NKW5OU2S.mjs';
43
43
  import '../../chunk-YTOPHPSG.mjs';
44
44
  import '../../chunk-IXJ2HCOA.mjs';
@@ -1,8 +1,8 @@
1
- export { HoveringToolbar } from '../../chunk-BYIG72TT.mjs';
1
+ export { HoveringToolbar } from '../../chunk-3L6CNVCE.mjs';
2
2
  import '../../chunk-L7VVZH4Q.mjs';
3
- import '../../chunk-NO3EYPQH.mjs';
4
- import '../../chunk-MRPRZQMN.mjs';
5
- import '../../chunk-PGGR6HL5.mjs';
3
+ import '../../chunk-O4MHJSK2.mjs';
4
+ import '../../chunk-GIJ3JZ4P.mjs';
5
+ import '../../chunk-4LOLCQGR.mjs';
6
6
  import '../../chunk-ND5PXTAW.mjs';
7
7
  import '../../chunk-2NURR2DX.mjs';
8
8
  import '../../chunk-5EJ5XOGP.mjs';
@@ -1,5 +1,5 @@
1
- export { HoveringInsertionPromptBoxCore } from '../../../chunk-MRPRZQMN.mjs';
2
- import '../../../chunk-PGGR6HL5.mjs';
1
+ export { HoveringInsertionPromptBoxCore } from '../../../chunk-GIJ3JZ4P.mjs';
2
+ import '../../../chunk-4LOLCQGR.mjs';
3
3
  import '../../../chunk-ND5PXTAW.mjs';
4
4
  import '../../../chunk-2NURR2DX.mjs';
5
5
  import '../../../chunk-5EJ5XOGP.mjs';
@@ -1,6 +1,6 @@
1
- export { HoveringInsertionPromptBox } from '../../../chunk-NO3EYPQH.mjs';
2
- import '../../../chunk-MRPRZQMN.mjs';
3
- import '../../../chunk-PGGR6HL5.mjs';
1
+ export { HoveringInsertionPromptBox } from '../../../chunk-O4MHJSK2.mjs';
2
+ import '../../../chunk-GIJ3JZ4P.mjs';
3
+ import '../../../chunk-4LOLCQGR.mjs';
4
4
  import '../../../chunk-ND5PXTAW.mjs';
5
5
  import '../../../chunk-2NURR2DX.mjs';
6
6
  import '../../../chunk-5EJ5XOGP.mjs';
@@ -1,4 +1,4 @@
1
- export { FileChipPreview, IncludedFilesPreview } from '../../../chunk-PGGR6HL5.mjs';
1
+ export { FileChipPreview, IncludedFilesPreview } from '../../../chunk-4LOLCQGR.mjs';
2
2
  import '../../../chunk-5EJ5XOGP.mjs';
3
3
  import '../../../chunk-KGKLUWKW.mjs';
4
4
  import '../../../chunk-MRXNTQOX.mjs';
@@ -1,7 +1,7 @@
1
1
  import '../../../chunk-L7VVZH4Q.mjs';
2
- export { HoveringInsertionPromptBox } from '../../../chunk-NO3EYPQH.mjs';
3
- import '../../../chunk-MRPRZQMN.mjs';
4
- import '../../../chunk-PGGR6HL5.mjs';
2
+ export { HoveringInsertionPromptBox } from '../../../chunk-O4MHJSK2.mjs';
3
+ import '../../../chunk-GIJ3JZ4P.mjs';
4
+ import '../../../chunk-4LOLCQGR.mjs';
5
5
  import '../../../chunk-ND5PXTAW.mjs';
6
6
  import '../../../chunk-2NURR2DX.mjs';
7
7
  import '../../../chunk-5EJ5XOGP.mjs';
@@ -1,16 +1,16 @@
1
1
  import '../chunk-MMVDU6DF.mjs';
2
- export { CopilotTextarea } from '../chunk-SFEGMBSS.mjs';
3
- import '../chunk-DYGPLRY3.mjs';
4
- import '../chunk-WPIA53HF.mjs';
2
+ export { CopilotTextarea } from '../chunk-AQHORK66.mjs';
3
+ import '../chunk-4UYKBG35.mjs';
4
+ import '../chunk-4HHYJGZE.mjs';
5
5
  import '../chunk-DE5K76I2.mjs';
6
6
  import '../chunk-5FO6ISW4.mjs';
7
7
  import '../chunk-QJDMIGLU.mjs';
8
- import '../chunk-F2TIBXML.mjs';
8
+ import '../chunk-GUH3Y2H4.mjs';
9
9
  import '../chunk-AXN37AHC.mjs';
10
10
  import '../chunk-RR6OQGTI.mjs';
11
11
  import '../chunk-JHTAOLEW.mjs';
12
12
  import '../chunk-WADHCMPK.mjs';
13
- export { BaseCopilotTextarea } from '../chunk-NZKGYWQV.mjs';
13
+ export { BaseCopilotTextarea } from '../chunk-JYVC4AW3.mjs';
14
14
  import '../chunk-CSGFJU3L.mjs';
15
15
  import '../chunk-KCHYD3EB.mjs';
16
16
  import '../chunk-YQU7WG7T.mjs';
@@ -19,14 +19,13 @@ import '../chunk-F3MHL6ZY.mjs';
19
19
  import '../chunk-RQHOUUXQ.mjs';
20
20
  import '../chunk-UHD44NC5.mjs';
21
21
  import '../chunk-JAFCXEPU.mjs';
22
- import '../chunk-OELUUJZY.mjs';
23
22
  import '../chunk-OD7ZMOVE.mjs';
24
23
  import '../chunk-MPME5BW2.mjs';
25
- import '../chunk-BYIG72TT.mjs';
24
+ import '../chunk-3L6CNVCE.mjs';
26
25
  import '../chunk-L7VVZH4Q.mjs';
27
- import '../chunk-NO3EYPQH.mjs';
28
- import '../chunk-MRPRZQMN.mjs';
29
- import '../chunk-PGGR6HL5.mjs';
26
+ import '../chunk-O4MHJSK2.mjs';
27
+ import '../chunk-GIJ3JZ4P.mjs';
28
+ import '../chunk-4LOLCQGR.mjs';
30
29
  import '../chunk-ND5PXTAW.mjs';
31
30
  import '../chunk-2NURR2DX.mjs';
32
31
  import '../chunk-5EJ5XOGP.mjs';
@@ -38,8 +37,9 @@ import '../chunk-O5OWT5GE.mjs';
38
37
  import '../chunk-GCMQHIRF.mjs';
39
38
  import '../chunk-KGKLUWKW.mjs';
40
39
  import '../chunk-WJHSY5T6.mjs';
41
- import '../chunk-S6JUGJK2.mjs';
40
+ import '../chunk-6Z2ATUNY.mjs';
42
41
  import '../chunk-LNAIMEB2.mjs';
42
+ import '../chunk-OELUUJZY.mjs';
43
43
  import '../chunk-NKW5OU2S.mjs';
44
44
  import '../chunk-YTOPHPSG.mjs';
45
45
  import '../chunk-IXJ2HCOA.mjs';
@@ -17,6 +17,6 @@ import '../../types/autosuggestions-config/subtypes/make-system-prompt.js';
17
17
  * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) "global" context category.
18
18
  * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.
19
19
  */
20
- declare function useMakeStandardAutosuggestionFunction(textareaPurpose: string, contextCategories: string[] | undefined, apiConfig: SuggestionsApiConfig): AutosuggestionsBareFunction;
20
+ declare function useMakeStandardAutosuggestionFunction(textareaPurpose: string, contextCategories: string[], apiConfig: SuggestionsApiConfig): AutosuggestionsBareFunction;
21
21
 
22
22
  export { useMakeStandardAutosuggestionFunction };
@@ -1,14 +1,14 @@
1
- export { useMakeStandardAutosuggestionFunction } from '../../chunk-DYGPLRY3.mjs';
1
+ export { useMakeStandardAutosuggestionFunction } from '../../chunk-4UYKBG35.mjs';
2
2
  import '../../chunk-DE5K76I2.mjs';
3
3
  import '../../chunk-5FO6ISW4.mjs';
4
4
  import '../../chunk-QJDMIGLU.mjs';
5
- import '../../chunk-F2TIBXML.mjs';
5
+ import '../../chunk-GUH3Y2H4.mjs';
6
6
  import '../../chunk-AXN37AHC.mjs';
7
7
  import '../../chunk-RR6OQGTI.mjs';
8
8
  import '../../chunk-JHTAOLEW.mjs';
9
9
  import '../../chunk-WADHCMPK.mjs';
10
10
  import '../../chunk-WJHSY5T6.mjs';
11
- import '../../chunk-S6JUGJK2.mjs';
11
+ import '../../chunk-6Z2ATUNY.mjs';
12
12
  import '../../chunk-4S5ZJH3I.mjs';
13
13
  import '../../chunk-MRXNTQOX.mjs';
14
14
  //# sourceMappingURL=out.js.map
@@ -18,6 +18,6 @@ import '../../types/autosuggestions-config/subtypes/minimal-chat-gpt-message.js'
18
18
  * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) "global" context category.
19
19
  * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.
20
20
  */
21
- declare function useMakeStandardInsertionOrEditingFunction(textareaPurpose: string, contextCategories: string[] | undefined, insertionApiConfig: InsertionsApiConfig, editingApiConfig: EditingApiConfig): Generator_InsertionOrEditingSuggestion;
21
+ declare function useMakeStandardInsertionOrEditingFunction(textareaPurpose: string, contextCategories: string[], insertionApiConfig: InsertionsApiConfig, editingApiConfig: EditingApiConfig): Generator_InsertionOrEditingSuggestion;
22
22
 
23
23
  export { useMakeStandardInsertionOrEditingFunction };
@@ -1,14 +1,14 @@
1
- export { useMakeStandardInsertionOrEditingFunction } from '../../chunk-WPIA53HF.mjs';
1
+ export { useMakeStandardInsertionOrEditingFunction } from '../../chunk-4HHYJGZE.mjs';
2
2
  import '../../chunk-DE5K76I2.mjs';
3
3
  import '../../chunk-5FO6ISW4.mjs';
4
4
  import '../../chunk-QJDMIGLU.mjs';
5
- import '../../chunk-F2TIBXML.mjs';
5
+ import '../../chunk-GUH3Y2H4.mjs';
6
6
  import '../../chunk-AXN37AHC.mjs';
7
7
  import '../../chunk-RR6OQGTI.mjs';
8
8
  import '../../chunk-JHTAOLEW.mjs';
9
9
  import '../../chunk-WADHCMPK.mjs';
10
10
  import '../../chunk-WJHSY5T6.mjs';
11
- import '../../chunk-S6JUGJK2.mjs';
11
+ import '../../chunk-6Z2ATUNY.mjs';
12
12
  import '../../chunk-4S5ZJH3I.mjs';
13
13
  import '../../chunk-MRXNTQOX.mjs';
14
14
  //# sourceMappingURL=out.js.map
package/dist/index.mjs CHANGED
@@ -1,16 +1,16 @@
1
1
  import './chunk-MMVDU6DF.mjs';
2
- export { CopilotTextarea } from './chunk-SFEGMBSS.mjs';
3
- import './chunk-DYGPLRY3.mjs';
4
- import './chunk-WPIA53HF.mjs';
2
+ export { CopilotTextarea } from './chunk-AQHORK66.mjs';
3
+ import './chunk-4UYKBG35.mjs';
4
+ import './chunk-4HHYJGZE.mjs';
5
5
  import './chunk-DE5K76I2.mjs';
6
6
  import './chunk-5FO6ISW4.mjs';
7
7
  export { ChatlikeApiEndpoint } from './chunk-QJDMIGLU.mjs';
8
- export { defaultAutosuggestionsConfig } from './chunk-F2TIBXML.mjs';
8
+ export { defaultAutosuggestionsConfig } from './chunk-GUH3Y2H4.mjs';
9
9
  import './chunk-AXN37AHC.mjs';
10
10
  import './chunk-RR6OQGTI.mjs';
11
11
  import './chunk-JHTAOLEW.mjs';
12
12
  import './chunk-WADHCMPK.mjs';
13
- export { BaseCopilotTextarea } from './chunk-NZKGYWQV.mjs';
13
+ export { BaseCopilotTextarea } from './chunk-JYVC4AW3.mjs';
14
14
  import './chunk-CSGFJU3L.mjs';
15
15
  import './chunk-KCHYD3EB.mjs';
16
16
  import './chunk-YQU7WG7T.mjs';
@@ -19,14 +19,13 @@ import './chunk-F3MHL6ZY.mjs';
19
19
  import './chunk-RQHOUUXQ.mjs';
20
20
  import './chunk-UHD44NC5.mjs';
21
21
  import './chunk-JAFCXEPU.mjs';
22
- import './chunk-OELUUJZY.mjs';
23
22
  import './chunk-OD7ZMOVE.mjs';
24
23
  import './chunk-MPME5BW2.mjs';
25
- import './chunk-BYIG72TT.mjs';
24
+ import './chunk-3L6CNVCE.mjs';
26
25
  import './chunk-L7VVZH4Q.mjs';
27
- import './chunk-NO3EYPQH.mjs';
28
- import './chunk-MRPRZQMN.mjs';
29
- import './chunk-PGGR6HL5.mjs';
26
+ import './chunk-O4MHJSK2.mjs';
27
+ import './chunk-GIJ3JZ4P.mjs';
28
+ import './chunk-4LOLCQGR.mjs';
30
29
  import './chunk-ND5PXTAW.mjs';
31
30
  import './chunk-2NURR2DX.mjs';
32
31
  import './chunk-5EJ5XOGP.mjs';
@@ -38,8 +37,9 @@ import './chunk-O5OWT5GE.mjs';
38
37
  import './chunk-GCMQHIRF.mjs';
39
38
  import './chunk-KGKLUWKW.mjs';
40
39
  import './chunk-WJHSY5T6.mjs';
41
- export { defaultBaseAutosuggestionsConfig } from './chunk-S6JUGJK2.mjs';
40
+ export { defaultBaseAutosuggestionsConfig } from './chunk-6Z2ATUNY.mjs';
42
41
  import './chunk-LNAIMEB2.mjs';
42
+ import './chunk-OELUUJZY.mjs';
43
43
  import './chunk-IU3WTXLQ.mjs';
44
44
  import './chunk-H4VKQGVU.mjs';
45
45
  import './chunk-NKW5OU2S.mjs';
@@ -8,7 +8,7 @@ import './subtypes/minimal-chat-gpt-message.js';
8
8
  import './subtypes/make-system-prompt.js';
9
9
 
10
10
  interface AutosuggestionsConfig extends Omit<BaseAutosuggestionsConfig, "apiConfig"> {
11
- externalContextCategories: string[] | undefined;
11
+ contextCategories: string[];
12
12
  chatApiConfigs: {
13
13
  suggestionsApiConfig: SuggestionsApiConfig;
14
14
  insertionApiConfig: InsertionsApiConfig;
@@ -1,9 +1,9 @@
1
- export { defaultAutosuggestionsConfig } from '../../chunk-F2TIBXML.mjs';
1
+ export { defaultAutosuggestionsConfig } from '../../chunk-GUH3Y2H4.mjs';
2
2
  import '../../chunk-AXN37AHC.mjs';
3
3
  import '../../chunk-RR6OQGTI.mjs';
4
4
  import '../../chunk-JHTAOLEW.mjs';
5
5
  import '../../chunk-WJHSY5T6.mjs';
6
- import '../../chunk-S6JUGJK2.mjs';
6
+ import '../../chunk-6Z2ATUNY.mjs';
7
7
  import '../../chunk-MRXNTQOX.mjs';
8
8
  //# sourceMappingURL=out.js.map
9
9
  //# sourceMappingURL=autosuggestions-config.mjs.map
@@ -1,11 +1,11 @@
1
1
  import '../../chunk-5FO6ISW4.mjs';
2
2
  export { ChatlikeApiEndpoint } from '../../chunk-QJDMIGLU.mjs';
3
- export { defaultAutosuggestionsConfig } from '../../chunk-F2TIBXML.mjs';
3
+ export { defaultAutosuggestionsConfig } from '../../chunk-GUH3Y2H4.mjs';
4
4
  import '../../chunk-AXN37AHC.mjs';
5
5
  import '../../chunk-RR6OQGTI.mjs';
6
6
  import '../../chunk-JHTAOLEW.mjs';
7
7
  import '../../chunk-WJHSY5T6.mjs';
8
- import '../../chunk-S6JUGJK2.mjs';
8
+ import '../../chunk-6Z2ATUNY.mjs';
9
9
  import '../../chunk-MRXNTQOX.mjs';
10
10
  //# sourceMappingURL=out.js.map
11
11
  //# sourceMappingURL=index.mjs.map
@@ -1,4 +1,4 @@
1
- export { defaultBaseAutosuggestionsConfig } from '../../chunk-S6JUGJK2.mjs';
1
+ export { defaultBaseAutosuggestionsConfig } from '../../chunk-6Z2ATUNY.mjs';
2
2
  import '../../chunk-MRXNTQOX.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=base-autosuggestions-config.mjs.map
@@ -1,5 +1,5 @@
1
1
  import '../../chunk-WJHSY5T6.mjs';
2
- export { defaultBaseAutosuggestionsConfig } from '../../chunk-S6JUGJK2.mjs';
2
+ export { defaultBaseAutosuggestionsConfig } from '../../chunk-6Z2ATUNY.mjs';
3
3
  import '../../chunk-MRXNTQOX.mjs';
4
4
  //# sourceMappingURL=out.js.map
5
5
  //# sourceMappingURL=index.mjs.map
@@ -1,13 +1,13 @@
1
1
  import '../chunk-DE5K76I2.mjs';
2
2
  import '../chunk-5FO6ISW4.mjs';
3
3
  export { ChatlikeApiEndpoint } from '../chunk-QJDMIGLU.mjs';
4
- export { defaultAutosuggestionsConfig } from '../chunk-F2TIBXML.mjs';
4
+ export { defaultAutosuggestionsConfig } from '../chunk-GUH3Y2H4.mjs';
5
5
  import '../chunk-AXN37AHC.mjs';
6
6
  import '../chunk-RR6OQGTI.mjs';
7
7
  import '../chunk-JHTAOLEW.mjs';
8
8
  import '../chunk-WADHCMPK.mjs';
9
9
  import '../chunk-WJHSY5T6.mjs';
10
- export { defaultBaseAutosuggestionsConfig } from '../chunk-S6JUGJK2.mjs';
10
+ export { defaultBaseAutosuggestionsConfig } from '../chunk-6Z2ATUNY.mjs';
11
11
  import '../chunk-MRXNTQOX.mjs';
12
12
  //# sourceMappingURL=out.js.map
13
13
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.22.0",
7
+ "version": "0.24.0",
8
8
  "sideEffects": [
9
9
  "**/*.css"
10
10
  ],
@@ -34,8 +34,8 @@
34
34
  "tsup": "^6.1.3",
35
35
  "typescript": "^4.9.4",
36
36
  "eslint-config-custom": "0.2.0",
37
- "tsconfig": "0.5.0",
38
- "tailwind-config": "0.1.0"
37
+ "tailwind-config": "0.1.0",
38
+ "tsconfig": "0.5.0"
39
39
  },
40
40
  "dependencies": {
41
41
  "@emotion/css": "^11.11.2",
@@ -59,7 +59,7 @@
59
59
  "slate-history": "^0.93.0",
60
60
  "slate-react": "^0.98.1",
61
61
  "tailwind-merge": "^1.13.2",
62
- "@copilotkit/react-core": "0.11.0"
62
+ "@copilotkit/react-core": "0.13.0"
63
63
  },
64
64
  "scripts": {
65
65
  "build": "tsup --treeshake",
@@ -37,14 +37,14 @@ export const CopilotTextarea = React.forwardRef(
37
37
 
38
38
  const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(
39
39
  autosuggestionsConfig.textareaPurpose,
40
- autosuggestionsConfig.externalContextCategories,
40
+ autosuggestionsConfig.contextCategories,
41
41
  autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig
42
42
  );
43
43
 
44
44
  const insertionOrEditingFunction =
45
45
  useMakeStandardInsertionOrEditingFunction(
46
46
  autosuggestionsConfig.textareaPurpose,
47
- autosuggestionsConfig.externalContextCategories,
47
+ autosuggestionsConfig.contextCategories,
48
48
  autosuggestionsConfig.chatApiConfigs.insertionApiConfig,
49
49
  autosuggestionsConfig.chatApiConfigs.editingApiConfig
50
50
  );
@@ -48,7 +48,13 @@ export const FileChipPreview: React.FC<FileChipPreviewProp> = ({
48
48
  <Chip
49
49
  label={filePointer.name}
50
50
  onDelete={onDelete}
51
- avatar={<Avatar sx={{ backgroundColor: "transparent" }}></Avatar>}
51
+ avatar={
52
+ <Avatar
53
+ src={filePointer.iconImageUri}
54
+ alt={filePointer.sourceApplication}
55
+ sx={{ backgroundColor: "transparent" }}
56
+ ></Avatar>
57
+ }
52
58
  />
53
59
  );
54
60
  };
@@ -23,7 +23,7 @@ import { SuggestionsApiConfig } from "../../types/autosuggestions-config/suggest
23
23
  */
24
24
  export function useMakeStandardAutosuggestionFunction(
25
25
  textareaPurpose: string,
26
- contextCategories: string[] | undefined,
26
+ contextCategories: string[],
27
27
  apiConfig: SuggestionsApiConfig
28
28
  ): AutosuggestionsBareFunction {
29
29
  const { getContextString, copilotApiConfig } = useContext(CopilotContext);
@@ -27,7 +27,7 @@ import { DocumentPointer } from "@copilotkit/react-core";
27
27
  */
28
28
  export function useMakeStandardInsertionOrEditingFunction(
29
29
  textareaPurpose: string,
30
- contextCategories: string[] | undefined,
30
+ contextCategories: string[],
31
31
  insertionApiConfig: InsertionsApiConfig,
32
32
  editingApiConfig: EditingApiConfig
33
33
  ): Generator_InsertionOrEditingSuggestion {
@@ -15,13 +15,14 @@ import {
15
15
  EditingApiConfig,
16
16
  defaultEditingApiConfig,
17
17
  } from "./editing-api-config";
18
+ import { defaultCopilotContextCategories } from "@copilotkit/react-core";
18
19
 
19
20
  // Like the base autosuggestions config, with 2 additional fields:
20
- // 1. externalContextCategories: string[] | undefined;
21
+ // 1. contextCategories: string[] | undefined;
21
22
  // 2. instead of apiConfigs, we have chatApiConfigs: a higher-level abstraction that uses a ChatGPT-like API endpoint.
22
23
  export interface AutosuggestionsConfig
23
24
  extends Omit<BaseAutosuggestionsConfig, "apiConfig"> {
24
- externalContextCategories: string[] | undefined;
25
+ contextCategories: string[];
25
26
  chatApiConfigs: {
26
27
  suggestionsApiConfig: SuggestionsApiConfig;
27
28
  insertionApiConfig: InsertionsApiConfig;
@@ -34,7 +35,7 @@ export const defaultAutosuggestionsConfig: Omit<
34
35
  "textareaPurpose" | "apiEndpoint"
35
36
  > = {
36
37
  ...defaultBaseAutosuggestionsConfig,
37
- externalContextCategories: undefined,
38
+ contextCategories: defaultCopilotContextCategories,
38
39
  chatApiConfigs: {
39
40
  suggestionsApiConfig: defaultSuggestionsApiConfig,
40
41
  insertionApiConfig: defaultInsertionsApiConfig,
@@ -1,4 +1,5 @@
1
1
  import { BaseCopilotTextareaApiConfig } from "./autosuggestions-bare-function";
2
+ import { defaultCopilotContextCategories } from "@copilotkit/react-core";
2
3
 
3
4
  export interface BaseAutosuggestionsConfig {
4
5
  textareaPurpose: string;
@@ -16,7 +17,7 @@ export const defaultBaseAutosuggestionsConfig: Omit<
16
17
  "textareaPurpose" | "apiConfig"
17
18
  > = {
18
19
  debounceTime: 250,
19
- contextCategories: ["global"],
20
+ contextCategories: defaultCopilotContextCategories,
20
21
  acceptAutosuggestionKey: "Tab",
21
22
  disableWhenEmpty: true,
22
23
  disabled: false,
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/autosuggestions-config/autosuggestions-config.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA+BO,IAAM,+BAGT,iCACC,mCADD;AAAA,EAEF,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,IACd,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,EACpB;AACF","sourcesContent":["import {\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../base\";\nimport {\n SuggestionsApiConfig,\n defaultSuggestionsApiConfig,\n} from \"./suggestions-api-config\";\nimport {\n InsertionsApiConfig,\n defaultInsertionsApiConfig,\n} from \"./insertions-api-config\";\nimport { ChatlikeApiEndpoint } from \".\";\nimport {\n EditingApiConfig,\n defaultEditingApiConfig,\n} from \"./editing-api-config\";\n\n// Like the base autosuggestions config, with 2 additional fields:\n// 1. externalContextCategories: string[] | undefined;\n// 2. instead of apiConfigs, we have chatApiConfigs: a higher-level abstraction that uses a ChatGPT-like API endpoint.\nexport interface AutosuggestionsConfig\n extends Omit<BaseAutosuggestionsConfig, \"apiConfig\"> {\n externalContextCategories: string[] | undefined;\n chatApiConfigs: {\n suggestionsApiConfig: SuggestionsApiConfig;\n insertionApiConfig: InsertionsApiConfig;\n editingApiConfig: EditingApiConfig;\n };\n}\n\nexport const defaultAutosuggestionsConfig: Omit<\n AutosuggestionsConfig,\n \"textareaPurpose\" | \"apiEndpoint\"\n> = {\n ...defaultBaseAutosuggestionsConfig,\n externalContextCategories: undefined,\n chatApiConfigs: {\n suggestionsApiConfig: defaultSuggestionsApiConfig,\n insertionApiConfig: defaultInsertionsApiConfig,\n editingApiConfig: defaultEditingApiConfig,\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx"],"names":[],"mappings":";;;;;AAGA,OAAO,UAAU;AACjB,OAAO,YAAY;AAYf,SACE,KADF;AALG,IAAM,uBAA4D,CAAC;AAAA,EACxE;AAAA,EACA;AACF,MAAM;AACJ,SACE,qBAAC;AAAA,IAAI,WAAU;AAAA,IACb;AAAA,0BAAC;AAAA,QAAM,WAAU;AAAA,QAAG;AAAA,OAAiB;AAAA,MACrC,oBAAC;AAAA,QAAI,WAAU;AAAA,QACZ,wBAAc,IAAI,CAAC,aAAa,UAAU;AACzC,iBACE,oBAAC;AAAA,YAEC;AAAA,YACA,UAAU,MAAM;AACd;AAAA,gBAAiB,CAAC,SAChB,KAAK,OAAO,CAAC,OAAO,OAAO,WAAW;AAAA,cACxC;AAAA,YACF;AAAA,aANK,QAAQ,YAAY,qBAAqB,YAAY,MAO5D;AAAA,QAEJ,CAAC;AAAA,OACH;AAAA;AAAA,GACF;AAEJ;AAOO,IAAM,kBAAiD,CAAC;AAAA,EAC7D;AAAA,EACA;AACF,MAAM;AACJ,SACE,oBAAC;AAAA,IACC,OAAO,YAAY;AAAA,IACnB;AAAA,IACA,QAAQ,oBAAC;AAAA,MAAO,IAAI,EAAE,iBAAiB,cAAc;AAAA,KAAG;AAAA,GAC1D;AAEJ","sourcesContent":["import { DocumentPointer } from \"@copilotkit/react-core\";\nimport { Label } from \"../../ui/label\";\nimport React from \"react\";\nimport Chip from \"@mui/material/Chip/Chip.js\";\nimport Avatar from \"@mui/material/Avatar/Avatar.js\";\n\nexport interface IncludedFilesPreviewProps {\n includedFiles: DocumentPointer[];\n setIncludedFiles: React.Dispatch<React.SetStateAction<DocumentPointer[]>>;\n}\n\nexport const IncludedFilesPreview: React.FC<IncludedFilesPreviewProps> = ({\n includedFiles,\n setIncludedFiles,\n}) => {\n return (\n <div className=\"flex flex-col gap-2 mt-2\">\n <Label className=\"\">Included context:</Label>\n <div className=\"flex flex-wrap gap-2\">\n {includedFiles.map((filePointer, index) => {\n return (\n <FileChipPreview\n key={`file-${filePointer.sourceApplication}.${filePointer.name}`}\n filePointer={filePointer}\n onDelete={() => {\n setIncludedFiles((prev) =>\n prev.filter((fp) => fp !== filePointer)\n );\n }}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nexport interface FileChipPreviewProp {\n filePointer: DocumentPointer;\n onDelete: () => void;\n}\n\nexport const FileChipPreview: React.FC<FileChipPreviewProp> = ({\n filePointer,\n onDelete,\n}) => {\n return (\n <Chip\n label={filePointer.name}\n onDelete={onDelete}\n avatar={<Avatar sx={{ backgroundColor: \"transparent\" }}></Avatar>}\n />\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/base/base-autosuggestions-config.tsx"],"names":[],"mappings":";AAaO,IAAM,mCAGT;AAAA,EACF,cAAc;AAAA,EACd,mBAAmB,CAAC,QAAQ;AAAA,EAC5B,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,uDAAuD;AACzD","sourcesContent":["import { BaseCopilotTextareaApiConfig } from \"./autosuggestions-bare-function\";\n\nexport interface BaseAutosuggestionsConfig {\n textareaPurpose: string;\n contextCategories: string[];\n debounceTime: number;\n acceptAutosuggestionKey: string;\n disableWhenEmpty: boolean;\n disabled: boolean;\n temporarilyDisableWhenMovingCursorWithoutChangingText: boolean;\n apiConfig: BaseCopilotTextareaApiConfig;\n}\n\nexport const defaultBaseAutosuggestionsConfig: Omit<\n BaseAutosuggestionsConfig,\n \"textareaPurpose\" | \"apiConfig\"\n> = {\n debounceTime: 250,\n contextCategories: [\"global\"],\n acceptAutosuggestionKey: \"Tab\",\n disableWhenEmpty: true,\n disabled: false,\n temporarilyDisableWhenMovingCursorWithoutChangingText: true,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,kBAAkB;AA0BjC,SAAS,0CACd,iBACA,mBACA,oBACA,kBACwC;AACxC,QAAM,EAAE,kBAAkB,iBAAiB,IAAI,WAAW,cAAc;AAExE,QAAM,oBAAoB;AAAA,IACxB,CACE,aACA,iBACA,WACA,gBACG;AACH,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,mBAAmB;AAAA,cAC1B;AAAA,cACA,iBAAiB,WAAW,iBAAiB;AAAA,YAC/C;AAAA,UACF;AAAA,UACA,GAAG,mBAAmB;AAAA,UACtB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,eAAO,MAAM,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,UACA,mBAAmB;AAAA,QACrB;AAAA,MACF,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,oBAAoB,kBAAkB,mBAAmB,eAAe;AAAA,EAC3E;AAEA,QAAM,kBAAkB;AAAA,IACtB,CACE,aACA,eACA,WACA,gBACG;AACH,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,iBAAiB;AAAA,cACxB;AAAA,cACA,iBAAiB,WAAW,iBAAiB;AAAA,YAC/C;AAAA,UACF;AAAA,UACA,GAAG,iBAAiB;AAAA,UACpB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAEA,cAAM,cACJ,oBAAoB,qBAAqB,gBAAgB;AAC3D,eAAO,MAAM,YAAY;AAAA,UACvB;AAAA,UACA;AAAA,UACA,iBAAiB;AAAA,QACnB;AAAA,MACF,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,CAAC,kBAAkB,kBAAkB,mBAAmB,eAAe;AAAA,EACzE;AAEA,QAAM,6BAA6B;AAAA,IACjC,CACE,aACA,iBACA,WACA,gBACG;AACH,UAAI,YAAY,iBAAiB,IAAI;AACnC,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,OAAO;AACL,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,mBAAmB,eAAe;AAAA,EACrC;AAEA,SAAO;AACT","sourcesContent":["import { CopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback, useContext } from \"react\";\nimport { ChatlikeApiEndpoint, MinimalChatGPTMessage } from \"../../types\";\nimport { retry } from \"../../lib/retry\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\n InsertionEditorApiConfig,\n InsertionEditorState,\n} from \"../../types/base/autosuggestions-bare-function\";\nimport { InsertionsApiConfig } from \"../../types/autosuggestions-config/insertions-api-config\";\nimport { EditingApiConfig } from \"../../types/autosuggestions-config/editing-api-config\";\nimport { DocumentPointer } from \"@copilotkit/react-core\";\n\n/**\n * Returns a memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n * The function takes in the text before and after the cursor, and an abort signal.\n * It sends a POST request to the API endpoint with the messages array containing the system message, few shot messages, and user messages.\n * The function returns the suggestion from the API response.\n *\n * @param textareaPurpose - The purpose of the textarea. This is included in the system message.\n * @param apiEndpoint - The API endpoint to send the autosuggestion request to.\n * @param makeSystemMessage - A function that takes in a context string and returns a system message to include in the autosuggestion request.\n * @param fewShotMessages - An array of few shot messages to include in the autosuggestion request.\n * @param contextCategories - The categories of context strings we want to include. By default, we include the (default) \"global\" context category.\n * @returns A memoized function that sends a request to the specified API endpoint to get an autosuggestion for the user's input.\n */\nexport function useMakeStandardInsertionOrEditingFunction(\n textareaPurpose: string,\n contextCategories: string[] | undefined,\n insertionApiConfig: InsertionsApiConfig,\n editingApiConfig: EditingApiConfig\n): Generator_InsertionOrEditingSuggestion {\n const { getContextString, copilotApiConfig } = useContext(CopilotContext);\n\n const insertionFunction = useCallback(\n async (\n editorState: EditingEditorState,\n insertionPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: insertionApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories)\n ),\n },\n ...insertionApiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n {\n role: \"user\",\n name: \"InsertionPrompt\",\n content: insertionPrompt,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n return await apiEndpoint.run(\n abortSignal,\n messages,\n insertionApiConfig.forwardedParams\n );\n });\n\n return res;\n },\n [insertionApiConfig, getContextString, contextCategories, textareaPurpose]\n );\n\n const editingFunction = useCallback(\n async (\n editorState: EditingEditorState,\n editingPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: editingApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories)\n ),\n },\n ...editingApiConfig.fewShotMessages,\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: editorState.textBeforeCursor,\n },\n {\n role: \"user\",\n name: \"TextToEdit\",\n content: editorState.selectedText,\n },\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: editorState.textAfterCursor,\n },\n {\n role: \"user\",\n name: \"EditingPrompt\",\n content: editingPrompt,\n },\n ];\n\n const apiEndpoint =\n ChatlikeApiEndpoint.fromCopilotApiConfig(copilotApiConfig);\n return await apiEndpoint.run(\n abortSignal,\n messages,\n editingApiConfig.forwardedParams\n );\n });\n\n return res;\n },\n [editingApiConfig, getContextString, contextCategories, textareaPurpose]\n );\n\n const insertionOrEditingFunction = useCallback(\n async (\n editorState: EditingEditorState,\n insertionPrompt: string,\n documents: DocumentPointer[],\n abortSignal: AbortSignal\n ) => {\n if (editorState.selectedText === \"\") {\n return await insertionFunction(\n editorState,\n insertionPrompt,\n documents,\n abortSignal\n );\n } else {\n return await editingFunction(\n editorState,\n insertionPrompt,\n documents,\n abortSignal\n );\n }\n },\n [insertionFunction, editingFunction]\n );\n\n return insertionOrEditingFunction;\n}\n"]}