@copilotkit/react-textarea 0.21.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.
- package/.turbo/turbo-build.log +30 -30
- package/CHANGELOG.md +28 -0
- package/dist/{chunk-IJC2EXRO.mjs → chunk-3L6CNVCE.mjs} +3 -3
- package/dist/chunk-3L6CNVCE.mjs.map +1 -0
- package/dist/{chunk-WPIA53HF.mjs → chunk-4HHYJGZE.mjs} +1 -1
- package/dist/chunk-4HHYJGZE.mjs.map +1 -0
- package/dist/{chunk-PGGR6HL5.mjs → chunk-4LOLCQGR.mjs} +3 -1
- package/dist/chunk-4LOLCQGR.mjs.map +1 -0
- package/dist/{chunk-DYGPLRY3.mjs → chunk-4UYKBG35.mjs} +1 -1
- package/dist/{chunk-DYGPLRY3.mjs.map → chunk-4UYKBG35.mjs.map} +1 -1
- package/dist/{chunk-S6JUGJK2.mjs → chunk-6Z2ATUNY.mjs} +4 -2
- package/dist/chunk-6Z2ATUNY.mjs.map +1 -0
- package/dist/{chunk-UIN6BEVR.mjs → chunk-AQHORK66.mjs} +7 -7
- package/dist/{chunk-UIN6BEVR.mjs.map → chunk-AQHORK66.mjs.map} +1 -1
- package/dist/{chunk-MRPRZQMN.mjs → chunk-GIJ3JZ4P.mjs} +2 -2
- package/dist/{chunk-F2TIBXML.mjs → chunk-GUH3Y2H4.mjs} +4 -4
- package/dist/chunk-GUH3Y2H4.mjs.map +1 -0
- package/dist/{chunk-JBI2MZB4.mjs → chunk-JYVC4AW3.mjs} +7 -4
- package/dist/chunk-JYVC4AW3.mjs.map +1 -0
- package/dist/{chunk-NO3EYPQH.mjs → chunk-O4MHJSK2.mjs} +2 -2
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +6 -6
- package/dist/components/copilot-textarea/copilot-textarea.mjs +10 -10
- package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +1 -0
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs +4 -4
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +2 -2
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +3 -3
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +1 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +3 -3
- package/dist/components/index.mjs +10 -10
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +1 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +3 -3
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +1 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +3 -3
- package/dist/index.mjs +10 -10
- package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +1 -1
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs +2 -2
- package/dist/types/autosuggestions-config/index.mjs +2 -2
- package/dist/types/base/base-autosuggestions-config.mjs +1 -1
- package/dist/types/base/base-copilot-textarea-props.d.ts +3 -0
- package/dist/types/base/index.mjs +1 -1
- package/dist/types/index.mjs +2 -2
- package/package.json +2 -2
- package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +2 -0
- package/src/components/copilot-textarea/copilot-textarea.tsx +2 -2
- package/src/components/hovering-toolbar/hovering-toolbar.tsx +5 -1
- package/src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx +7 -1
- package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +1 -1
- package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +1 -1
- package/src/types/autosuggestions-config/autosuggestions-config.tsx +4 -3
- package/src/types/base/base-autosuggestions-config.tsx +2 -1
- package/src/types/base/base-copilot-textarea-props.tsx +3 -0
- package/dist/chunk-F2TIBXML.mjs.map +0 -1
- package/dist/chunk-IJC2EXRO.mjs.map +0 -1
- package/dist/chunk-JBI2MZB4.mjs.map +0 -1
- package/dist/chunk-PGGR6HL5.mjs.map +0 -1
- package/dist/chunk-S6JUGJK2.mjs.map +0 -1
- package/dist/chunk-WPIA53HF.mjs.map +0 -1
- /package/dist/{chunk-MRPRZQMN.mjs.map → chunk-GIJ3JZ4P.mjs.map} +0 -0
- /package/dist/{chunk-NO3EYPQH.mjs.map → chunk-O4MHJSK2.mjs.map} +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @copilotkit/react-textarea@0.
|
|
2
|
+
> @copilotkit/react-textarea@0.24.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-textarea
|
|
3
3
|
> tsup --treeshake
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m 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
|
|
@@ -58,7 +58,6 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
58
58
|
[32mESM[39m [1mdist/chunk-WADHCMPK.mjs [22m[32m76.00 B[39m
|
|
59
59
|
[32mESM[39m [1mdist/chunk-L7VVZH4Q.mjs [22m[32m76.00 B[39m
|
|
60
60
|
[32mESM[39m [1mdist/chunk-WJHSY5T6.mjs [22m[32m76.00 B[39m
|
|
61
|
-
[32mESM[39m [1mdist/chunk-S6JUGJK2.mjs [22m[32m410.00 B[39m
|
|
62
61
|
[32mESM[39m [1mdist/chunk-IU3WTXLQ.mjs [22m[32m76.00 B[39m
|
|
63
62
|
[32mESM[39m [1mdist/chunk-H4VKQGVU.mjs [22m[32m76.00 B[39m
|
|
64
63
|
[32mESM[39m [1mdist/chunk-4S5ZJH3I.mjs [22m[32m502.00 B[39m
|
|
@@ -85,12 +84,12 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
85
84
|
[32mESM[39m [1mdist/components/base-copilot-textarea/render-placeholder.mjs [22m[32m188.00 B[39m
|
|
86
85
|
[32mESM[39m [1mdist/index.mjs [22m[32m1.71 KB[39m
|
|
87
86
|
[32mESM[39m [1mdist/components/index.mjs [22m[32m1.59 KB[39m
|
|
88
|
-
[32mESM[39m [1mdist/chunk-
|
|
89
|
-
[32mESM[39m [1mdist/chunk-
|
|
90
|
-
[32mESM[39m [1mdist/chunk-
|
|
87
|
+
[32mESM[39m [1mdist/chunk-AQHORK66.mjs [22m[32m1.85 KB[39m
|
|
88
|
+
[32mESM[39m [1mdist/chunk-4UYKBG35.mjs [22m[32m1.83 KB[39m
|
|
89
|
+
[32mESM[39m [1mdist/chunk-4HHYJGZE.mjs [22m[32m3.73 KB[39m
|
|
91
90
|
[32mESM[39m [1mdist/chunk-QJDMIGLU.mjs [22m[32m1.24 KB[39m
|
|
92
|
-
[32mESM[39m [1mdist/chunk-
|
|
93
|
-
[32mESM[39m [1mdist/chunk-
|
|
91
|
+
[32mESM[39m [1mdist/chunk-GUH3Y2H4.mjs [22m[32m874.00 B[39m
|
|
92
|
+
[32mESM[39m [1mdist/chunk-JYVC4AW3.mjs [22m[32m7.85 KB[39m
|
|
94
93
|
[32mESM[39m [1mdist/chunk-CSGFJU3L.mjs [22m[32m2.01 KB[39m
|
|
95
94
|
[32mESM[39m [1mdist/chunk-KCHYD3EB.mjs [22m[32m3.08 KB[39m
|
|
96
95
|
[32mESM[39m [1mdist/chunk-YQU7WG7T.mjs [22m[32m2.57 KB[39m
|
|
@@ -101,10 +100,10 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
101
100
|
[32mESM[39m [1mdist/chunk-JAFCXEPU.mjs [22m[32m496.00 B[39m
|
|
102
101
|
[32mESM[39m [1mdist/chunk-OD7ZMOVE.mjs [22m[32m1.35 KB[39m
|
|
103
102
|
[32mESM[39m [1mdist/chunk-MPME5BW2.mjs [22m[32m2.16 KB[39m
|
|
104
|
-
[32mESM[39m [1mdist/chunk-
|
|
105
|
-
[32mESM[39m [1mdist/chunk-
|
|
106
|
-
[32mESM[39m [1mdist/chunk-
|
|
107
|
-
[32mESM[39m [1mdist/chunk-
|
|
103
|
+
[32mESM[39m [1mdist/chunk-3L6CNVCE.mjs [22m[32m3.71 KB[39m
|
|
104
|
+
[32mESM[39m [1mdist/chunk-O4MHJSK2.mjs [22m[32m789.00 B[39m
|
|
105
|
+
[32mESM[39m [1mdist/chunk-GIJ3JZ4P.mjs [22m[32m8.46 KB[39m
|
|
106
|
+
[32mESM[39m [1mdist/chunk-4LOLCQGR.mjs [22m[32m1.38 KB[39m
|
|
108
107
|
[32mESM[39m [1mdist/chunk-ND5PXTAW.mjs [22m[32m575.00 B[39m
|
|
109
108
|
[32mESM[39m [1mdist/chunk-2NURR2DX.mjs [22m[32m1.82 KB[39m
|
|
110
109
|
[32mESM[39m [1mdist/chunk-5EJ5XOGP.mjs [22m[32m815.00 B[39m
|
|
@@ -115,6 +114,7 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
115
114
|
[32mESM[39m [1mdist/chunk-O5OWT5GE.mjs [22m[32m4.40 KB[39m
|
|
116
115
|
[32mESM[39m [1mdist/chunk-GCMQHIRF.mjs [22m[32m759.00 B[39m
|
|
117
116
|
[32mESM[39m [1mdist/chunk-KGKLUWKW.mjs [22m[32m1.37 KB[39m
|
|
117
|
+
[32mESM[39m [1mdist/chunk-6Z2ATUNY.mjs [22m[32m506.00 B[39m
|
|
118
118
|
[32mESM[39m [1mdist/chunk-LNAIMEB2.mjs [22m[32m1.09 KB[39m
|
|
119
119
|
[32mESM[39m [1mdist/chunk-OELUUJZY.mjs [22m[32m625.00 B[39m
|
|
120
120
|
[32mESM[39m [1mdist/lib/debouncer.mjs [22m[32m153.00 B[39m
|
|
@@ -130,11 +130,11 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
130
130
|
[32mESM[39m [1mdist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs [22m[32m227.00 B[39m
|
|
131
131
|
[32mESM[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs [22m[32m605.00 B[39m
|
|
132
132
|
[32mESM[39m [1mdist/hooks/misc/use-autosize-textarea.mjs [22m[32m202.00 B[39m
|
|
133
|
-
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs [22m[32m86.00 B[39m
|
|
134
133
|
[32mESM[39m [1mdist/types/base/base-copilot-textarea-props.mjs [22m[32m89.00 B[39m
|
|
135
134
|
[32mESM[39m [1mdist/types/base/custom-editor.mjs [22m[32m75.00 B[39m
|
|
136
135
|
[32mESM[39m [1mdist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs [22m[32m99.00 B[39m
|
|
137
136
|
[32mESM[39m [1mdist/types/base/autosuggestion-state.mjs [22m[32m82.00 B[39m
|
|
137
|
+
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs [22m[32m86.00 B[39m
|
|
138
138
|
[32mESM[39m [1mdist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs [22m[32m596.00 B[39m
|
|
139
139
|
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs [22m[32m187.00 B[39m
|
|
140
140
|
[32mESM[39m [1mdist/types/base/base-autosuggestions-config.mjs [22m[32m200.00 B[39m
|
|
@@ -168,7 +168,6 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
168
168
|
[32mESM[39m [1mdist/chunk-WADHCMPK.mjs.map [22m[32m51.00 B[39m
|
|
169
169
|
[32mESM[39m [1mdist/chunk-L7VVZH4Q.mjs.map [22m[32m51.00 B[39m
|
|
170
170
|
[32mESM[39m [1mdist/chunk-WJHSY5T6.mjs.map [22m[32m51.00 B[39m
|
|
171
|
-
[32mESM[39m [1mdist/chunk-S6JUGJK2.mjs.map [22m[32m1017.00 B[39m
|
|
172
171
|
[32mESM[39m [1mdist/chunk-IU3WTXLQ.mjs.map [22m[32m51.00 B[39m
|
|
173
172
|
[32mESM[39m [1mdist/chunk-H4VKQGVU.mjs.map [22m[32m51.00 B[39m
|
|
174
173
|
[32mESM[39m [1mdist/chunk-4S5ZJH3I.mjs.map [22m[32m969.00 B[39m
|
|
@@ -195,12 +194,12 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
195
194
|
[32mESM[39m [1mdist/components/base-copilot-textarea/render-placeholder.mjs.map [22m[32m51.00 B[39m
|
|
196
195
|
[32mESM[39m [1mdist/index.mjs.map [22m[32m51.00 B[39m
|
|
197
196
|
[32mESM[39m [1mdist/components/index.mjs.map [22m[32m51.00 B[39m
|
|
198
|
-
[32mESM[39m [1mdist/chunk-
|
|
199
|
-
[32mESM[39m [1mdist/chunk-
|
|
200
|
-
[32mESM[39m [1mdist/chunk-
|
|
197
|
+
[32mESM[39m [1mdist/chunk-AQHORK66.mjs.map [22m[32m3.39 KB[39m
|
|
198
|
+
[32mESM[39m [1mdist/chunk-4UYKBG35.mjs.map [22m[32m4.22 KB[39m
|
|
199
|
+
[32mESM[39m [1mdist/chunk-4HHYJGZE.mjs.map [22m[32m7.53 KB[39m
|
|
201
200
|
[32mESM[39m [1mdist/chunk-QJDMIGLU.mjs.map [22m[32m3.10 KB[39m
|
|
202
|
-
[32mESM[39m [1mdist/chunk-
|
|
203
|
-
[32mESM[39m [1mdist/chunk-
|
|
201
|
+
[32mESM[39m [1mdist/chunk-GUH3Y2H4.mjs.map [22m[32m1.73 KB[39m
|
|
202
|
+
[32mESM[39m [1mdist/chunk-JYVC4AW3.mjs.map [22m[32m13.95 KB[39m
|
|
204
203
|
[32mESM[39m [1mdist/chunk-CSGFJU3L.mjs.map [22m[32m3.82 KB[39m
|
|
205
204
|
[32mESM[39m [1mdist/chunk-KCHYD3EB.mjs.map [22m[32m6.12 KB[39m
|
|
206
205
|
[32mESM[39m [1mdist/chunk-YQU7WG7T.mjs.map [22m[32m4.80 KB[39m
|
|
@@ -211,10 +210,10 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
211
210
|
[32mESM[39m [1mdist/chunk-JAFCXEPU.mjs.map [22m[32m880.00 B[39m
|
|
212
211
|
[32mESM[39m [1mdist/chunk-OD7ZMOVE.mjs.map [22m[32m2.66 KB[39m
|
|
213
212
|
[32mESM[39m [1mdist/chunk-MPME5BW2.mjs.map [22m[32m3.48 KB[39m
|
|
214
|
-
[32mESM[39m [1mdist/chunk-
|
|
215
|
-
[32mESM[39m [1mdist/chunk-
|
|
216
|
-
[32mESM[39m [1mdist/chunk-
|
|
217
|
-
[32mESM[39m [1mdist/chunk-
|
|
213
|
+
[32mESM[39m [1mdist/chunk-3L6CNVCE.mjs.map [22m[32m7.10 KB[39m
|
|
214
|
+
[32mESM[39m [1mdist/chunk-O4MHJSK2.mjs.map [22m[32m1.48 KB[39m
|
|
215
|
+
[32mESM[39m [1mdist/chunk-GIJ3JZ4P.mjs.map [22m[32m13.64 KB[39m
|
|
216
|
+
[32mESM[39m [1mdist/chunk-4LOLCQGR.mjs.map [22m[32m2.48 KB[39m
|
|
218
217
|
[32mESM[39m [1mdist/chunk-ND5PXTAW.mjs.map [22m[32m1.13 KB[39m
|
|
219
218
|
[32mESM[39m [1mdist/chunk-2NURR2DX.mjs.map [22m[32m2.65 KB[39m
|
|
220
219
|
[32mESM[39m [1mdist/chunk-5EJ5XOGP.mjs.map [22m[32m1.15 KB[39m
|
|
@@ -225,6 +224,7 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
225
224
|
[32mESM[39m [1mdist/chunk-O5OWT5GE.mjs.map [22m[32m5.87 KB[39m
|
|
226
225
|
[32mESM[39m [1mdist/chunk-GCMQHIRF.mjs.map [22m[32m1.40 KB[39m
|
|
227
226
|
[32mESM[39m [1mdist/chunk-KGKLUWKW.mjs.map [22m[32m2.45 KB[39m
|
|
227
|
+
[32mESM[39m [1mdist/chunk-6Z2ATUNY.mjs.map [22m[32m1.09 KB[39m
|
|
228
228
|
[32mESM[39m [1mdist/chunk-LNAIMEB2.mjs.map [22m[32m1.73 KB[39m
|
|
229
229
|
[32mESM[39m [1mdist/chunk-OELUUJZY.mjs.map [22m[32m957.00 B[39m
|
|
230
230
|
[32mESM[39m [1mdist/lib/debouncer.mjs.map [22m[32m51.00 B[39m
|
|
@@ -240,11 +240,11 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
240
240
|
[32mESM[39m [1mdist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map [22m[32m51.00 B[39m
|
|
241
241
|
[32mESM[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map [22m[32m51.00 B[39m
|
|
242
242
|
[32mESM[39m [1mdist/hooks/misc/use-autosize-textarea.mjs.map [22m[32m51.00 B[39m
|
|
243
|
-
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map [22m[32m51.00 B[39m
|
|
244
243
|
[32mESM[39m [1mdist/types/base/base-copilot-textarea-props.mjs.map [22m[32m51.00 B[39m
|
|
245
244
|
[32mESM[39m [1mdist/types/base/custom-editor.mjs.map [22m[32m51.00 B[39m
|
|
246
245
|
[32mESM[39m [1mdist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map [22m[32m51.00 B[39m
|
|
247
246
|
[32mESM[39m [1mdist/types/base/autosuggestion-state.mjs.map [22m[32m51.00 B[39m
|
|
247
|
+
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map [22m[32m51.00 B[39m
|
|
248
248
|
[32mESM[39m [1mdist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map [22m[32m51.00 B[39m
|
|
249
249
|
[32mESM[39m [1mdist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs.map [22m[32m51.00 B[39m
|
|
250
250
|
[32mESM[39m [1mdist/types/base/base-autosuggestions-config.mjs.map [22m[32m51.00 B[39m
|
|
@@ -260,16 +260,16 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
260
260
|
[32mESM[39m [1mdist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map [22m[32m51.00 B[39m
|
|
261
261
|
[32mESM[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map [22m[32m51.00 B[39m
|
|
262
262
|
[32mESM[39m [1mdist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map [22m[32m51.00 B[39m
|
|
263
|
-
[32mESM[39m ⚡️ Build success in
|
|
264
|
-
[32mDTS[39m ⚡️ Build success in
|
|
263
|
+
[32mESM[39m ⚡️ Build success in 2473ms
|
|
264
|
+
[32mDTS[39m ⚡️ Build success in 6476ms
|
|
265
265
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m1.47 KB[39m
|
|
266
266
|
[32mDTS[39m [1mdist/components/base-copilot-textarea/base-copilot-textarea.d.ts [22m[32m628.00 B[39m
|
|
267
267
|
[32mDTS[39m [1mdist/components/copilot-textarea/copilot-textarea.d.ts [22m[32m1.28 KB[39m
|
|
268
268
|
[32mDTS[39m [1mdist/types/base/base-autosuggestions-config.d.ts [22m[32m636.00 B[39m
|
|
269
269
|
[32mDTS[39m [1mdist/types/base/autosuggestions-bare-function.d.ts [22m[32m970.00 B[39m
|
|
270
|
-
[32mDTS[39m [1mdist/types/base/base-copilot-textarea-props.d.ts [22m[32m2.
|
|
270
|
+
[32mDTS[39m [1mdist/types/base/base-copilot-textarea-props.d.ts [22m[32m2.19 KB[39m
|
|
271
271
|
[32mDTS[39m [1mdist/types/html-copilot-textarea-element.d.ts [22m[32m165.00 B[39m
|
|
272
|
-
[32mDTS[39m [1mdist/types/autosuggestions-config/autosuggestions-config.d.ts [22m[
|
|
272
|
+
[32mDTS[39m [1mdist/types/autosuggestions-config/autosuggestions-config.d.ts [22m[32m924.00 B[39m
|
|
273
273
|
[32mDTS[39m [1mdist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.d.ts [22m[32m129.00 B[39m
|
|
274
274
|
[32mDTS[39m [1mdist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts [22m[32m114.00 B[39m
|
|
275
275
|
[32mDTS[39m [1mdist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.d.ts [22m[32m1.29 KB[39m
|
|
@@ -295,7 +295,7 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
295
295
|
[32mDTS[39m [1mdist/components/base-copilot-textarea/use-add-branding-css.d.ts [22m[32m158.00 B[39m
|
|
296
296
|
[32mDTS[39m [1mdist/components/hovering-toolbar/hovering-editor-provider.d.ts [22m[32m451.00 B[39m
|
|
297
297
|
[32mDTS[39m [1mdist/components/hovering-toolbar/hovering-toolbar-components.d.ts [22m[32m1006.00 B[39m
|
|
298
|
-
[32mDTS[39m [1mdist/components/hovering-toolbar/hovering-toolbar.d.ts [22m[
|
|
298
|
+
[32mDTS[39m [1mdist/components/hovering-toolbar/hovering-toolbar.d.ts [22m[32m416.00 B[39m
|
|
299
299
|
[32mDTS[39m [1mdist/components/manual-ui/chip-with-icon.d.ts [22m[32m246.00 B[39m
|
|
300
300
|
[32mDTS[39m [1mdist/components/source-search-box/source-search-box.d.ts [22m[32m491.00 B[39m
|
|
301
301
|
[32mDTS[39m [1mdist/components/ui/button.d.ts [22m[32m766.00 B[39m
|
|
@@ -310,8 +310,8 @@ Generated an empty chunk: "chunk-H4VKQGVU".
|
|
|
310
310
|
[32mDTS[39m [1mdist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts [22m[32m226.00 B[39m
|
|
311
311
|
[32mDTS[39m [1mdist/types/base/custom-editor.d.ts [22m[32m801.00 B[39m
|
|
312
312
|
[32mDTS[39m [1mdist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts [22m[32m326.00 B[39m
|
|
313
|
-
[32mDTS[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts [22m[32m1.
|
|
314
|
-
[32mDTS[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts [22m[32m1.
|
|
313
|
+
[32mDTS[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts [22m[32m1.70 KB[39m
|
|
314
|
+
[32mDTS[39m [1mdist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts [22m[32m1.86 KB[39m
|
|
315
315
|
[32mDTS[39m [1mdist/hooks/misc/use-autosize-textarea.d.ts [22m[32m185.00 B[39m
|
|
316
316
|
[32mDTS[39m [1mdist/lib/slatejs-edits/add-autocompletions.d.ts [22m[32m302.00 B[39m
|
|
317
317
|
[32mDTS[39m [1mdist/lib/slatejs-edits/clear-autocompletions.d.ts [22m[32m250.00 B[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
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
|
+
|
|
25
|
+
## 0.22.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- add support for hoverMenuClassname
|
|
30
|
+
|
|
3
31
|
## 0.21.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HoveringInsertionPromptBox } from './chunk-
|
|
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';
|
|
@@ -71,7 +71,7 @@ var HoveringToolbar = (props) => {
|
|
|
71
71
|
return /* @__PURE__ */ jsx(Portal, {
|
|
72
72
|
children: /* @__PURE__ */ jsx(Menu, {
|
|
73
73
|
ref,
|
|
74
|
-
className: "p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700",
|
|
74
|
+
className: props.hoverMenuClassname || "p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700",
|
|
75
75
|
children: isDisplayed && selection && /* @__PURE__ */ jsx(HoveringInsertionPromptBox, {
|
|
76
76
|
editorState: editorState(editor),
|
|
77
77
|
apiConfig: props.apiConfig,
|
|
@@ -105,4 +105,4 @@ function editorState(editor, selection) {
|
|
|
105
105
|
|
|
106
106
|
export { HoveringToolbar };
|
|
107
107
|
//# sourceMappingURL=out.js.map
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-3L6CNVCE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/hovering-toolbar/hovering-toolbar.tsx"],"names":["selection"],"mappings":"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","sourcesContent":["import { css } from \"@emotion/css\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { BaseSelection, Editor, Range, Location, Transforms } from \"slate\";\nimport { useSlate, useSlateSelection } from \"slate-react\";\nimport { HoveringInsertionPromptBox } from \"./text-insertion-prompt-box\";\nimport { Button, Icon, Menu, Portal } from \"./hovering-toolbar-components\";\nimport { useHoveringEditorContext } from \"./hovering-editor-provider\";\nimport {\n getFullEditorTextWithNewlines,\n getTextAroundSelection,\n} from \"../../lib/get-text-around-cursor\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../types/base/autosuggestions-bare-function\";\n\nexport interface HoveringToolbarProps {\n apiConfig: InsertionEditorApiConfig;\n contextCategories: string[];\n hoverMenuClassname: string | undefined;\n}\n\nexport const HoveringToolbar: (\n props: HoveringToolbarProps\n) => JSX.Element | null = (props) => {\n const ref = useRef<HTMLDivElement>(null);\n const editor = useSlate();\n const selection = useSlateSelection();\n const { isDisplayed, setIsDisplayed } = useHoveringEditorContext();\n\n // only render on client\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n setIsClient(true);\n }, []);\n\n useEffect(() => {\n const el = ref.current;\n const { selection } = editor;\n\n if (!el) {\n return;\n }\n\n if (!selection) {\n el.removeAttribute(\"style\");\n return;\n }\n\n const domSelection = window.getSelection();\n if (!domSelection) {\n return;\n }\n\n const domRange = domSelection.getRangeAt(0);\n const rect = domRange.getBoundingClientRect();\n\n // We use window = (0,0,0,0) as a signal that the selection is not in the original copilot-textarea,\n // but inside the hovering window.\n //\n // in such case, we simply do nothing.\n if (\n rect.top === 0 &&\n rect.left === 0 &&\n rect.width === 0 &&\n rect.height === 0\n ) {\n return;\n }\n\n const minGapFromEdge = 60;\n const verticalOffsetFromCorner = 35;\n const horizontalOffsetFromCorner = 15;\n let top =\n rect.top + window.scrollY - el.offsetHeight + verticalOffsetFromCorner;\n // make sure top is in the viewport and not too close to the edge\n if (top < minGapFromEdge) {\n top = rect.bottom + window.scrollY + minGapFromEdge;\n } else if (top + el.offsetHeight > window.innerHeight - minGapFromEdge) {\n top = rect.top + window.scrollY - el.offsetHeight - minGapFromEdge;\n }\n\n let left =\n rect.left +\n window.scrollX -\n el.offsetWidth / 2 +\n rect.width / 2 +\n horizontalOffsetFromCorner;\n // make sure left is in the viewport and not too close to the edge\n if (left < minGapFromEdge) {\n left = minGapFromEdge;\n } else if (left + el.offsetWidth > window.innerWidth - minGapFromEdge) {\n left = window.innerWidth - el.offsetWidth - minGapFromEdge;\n }\n\n el.style.opacity = \"1\";\n el.style.top = `${top}px`;\n el.style.left = `${left}px`;\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setIsDisplayed(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, setIsDisplayed]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <Portal>\n <Menu\n ref={ref}\n className={\n props.hoverMenuClassname ||\n \"p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700\"\n }\n >\n {isDisplayed && selection && (\n <HoveringInsertionPromptBox\n editorState={editorState(editor, selection)}\n apiConfig={props.apiConfig}\n closeWindow={() => {\n setIsDisplayed(false);\n }}\n performInsertion={(insertedText) => {\n console.log(\"inserted text\", insertedText);\n // replace the selection with the inserted text\n Transforms.delete(editor, { at: selection });\n Transforms.insertText(editor, insertedText, {\n at: selection,\n });\n setIsDisplayed(false);\n }}\n contextCategories={props.contextCategories}\n />\n )}\n </Menu>\n </Portal>\n );\n};\n\nfunction editorState(editor: Editor, selection: Location): EditingEditorState {\n const textAroundCursor = getTextAroundSelection(editor);\n if (textAroundCursor) {\n return textAroundCursor;\n }\n\n return {\n textBeforeCursor: getFullEditorTextWithNewlines(editor),\n textAfterCursor: \"\",\n selectedText: \"\",\n };\n}\n"]}
|
|
@@ -114,4 +114,4 @@ function useMakeStandardInsertionOrEditingFunction(textareaPurpose, contextCateg
|
|
|
114
114
|
|
|
115
115
|
export { useMakeStandardInsertionOrEditingFunction };
|
|
116
116
|
//# sourceMappingURL=out.js.map
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
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"]}
|
|
@@ -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[]
|
|
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:
|
|
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-
|
|
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-
|
|
2
|
-
import { useMakeStandardInsertionOrEditingFunction } from './chunk-
|
|
3
|
-
import { defaultAutosuggestionsConfig } from './chunk-
|
|
4
|
-
import { BaseCopilotTextarea } from './chunk-
|
|
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.
|
|
23
|
+
autosuggestionsConfig.contextCategories,
|
|
24
24
|
autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig
|
|
25
25
|
);
|
|
26
26
|
const insertionOrEditingFunction = useMakeStandardInsertionOrEditingFunction(
|
|
27
27
|
autosuggestionsConfig.textareaPurpose,
|
|
28
|
-
autosuggestionsConfig.
|
|
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-
|
|
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.
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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"]}
|
|
@@ -6,9 +6,9 @@ import { replaceEditorText } from './chunk-RQHOUUXQ.mjs';
|
|
|
6
6
|
import { useAutosuggestions } from './chunk-UHD44NC5.mjs';
|
|
7
7
|
import { TrackerTextEditedSinceLastCursorMovement } from './chunk-OD7ZMOVE.mjs';
|
|
8
8
|
import { useAddBrandingCss } from './chunk-MPME5BW2.mjs';
|
|
9
|
-
import { HoveringToolbar } from './chunk-
|
|
9
|
+
import { HoveringToolbar } from './chunk-3L6CNVCE.mjs';
|
|
10
10
|
import { useHoveringEditorContext, HoveringEditorProvider } from './chunk-YW3REYX6.mjs';
|
|
11
|
-
import { defaultBaseAutosuggestionsConfig } from './chunk-
|
|
11
|
+
import { defaultBaseAutosuggestionsConfig } from './chunk-6Z2ATUNY.mjs';
|
|
12
12
|
import { makeRenderElementFunction } from './chunk-LNAIMEB2.mjs';
|
|
13
13
|
import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
|
|
14
14
|
import { getTextAroundCollapsedCursor, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
|
|
@@ -107,6 +107,7 @@ var BaseCopilotTextareaWithHoveringContext = React.forwardRef(
|
|
|
107
107
|
const _a = props, {
|
|
108
108
|
placeholderStyle,
|
|
109
109
|
value,
|
|
110
|
+
hoverMenuClassname,
|
|
110
111
|
onValueChange,
|
|
111
112
|
baseAutosuggestionsConfig: autosuggestionsConfigFromProps,
|
|
112
113
|
className,
|
|
@@ -116,6 +117,7 @@ var BaseCopilotTextareaWithHoveringContext = React.forwardRef(
|
|
|
116
117
|
} = _a, propsToForward = __objRest(_a, [
|
|
117
118
|
"placeholderStyle",
|
|
118
119
|
"value",
|
|
120
|
+
"hoverMenuClassname",
|
|
119
121
|
"onValueChange",
|
|
120
122
|
"baseAutosuggestionsConfig",
|
|
121
123
|
"className",
|
|
@@ -158,7 +160,8 @@ var BaseCopilotTextareaWithHoveringContext = React.forwardRef(
|
|
|
158
160
|
}),
|
|
159
161
|
/* @__PURE__ */ jsx(HoveringToolbar, {
|
|
160
162
|
apiConfig: autosuggestionsConfig.apiConfig,
|
|
161
|
-
contextCategories: autosuggestionsConfig.contextCategories
|
|
163
|
+
contextCategories: autosuggestionsConfig.contextCategories,
|
|
164
|
+
hoverMenuClassname
|
|
162
165
|
}),
|
|
163
166
|
/* @__PURE__ */ jsx(Editable, __spreadValues({
|
|
164
167
|
renderElement: renderElementMemoized,
|
|
@@ -199,4 +202,4 @@ var BaseCopilotTextarea = React.forwardRef(
|
|
|
199
202
|
|
|
200
203
|
export { BaseCopilotTextarea };
|
|
201
204
|
//# sourceMappingURL=out.js.map
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-JYVC4AW3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/base-copilot-textarea/base-copilot-textarea.tsx"],"names":["_a","value"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Descendant, Editor } from \"slate\";\nimport { Editable, Slate } from \"slate-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useAutosuggestions } from \"../../hooks/base-copilot-textarea-implementation/use-autosuggestions\";\nimport { useCopilotTextareaEditor } from \"../../hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor\";\nimport { usePopulateCopilotTextareaRef } from \"../../hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref\";\nimport {\n getFullEditorTextWithNewlines,\n getTextAroundCollapsedCursor,\n} from \"../../lib/get-text-around-cursor\";\nimport { addAutocompletionsToEditor } from \"../../lib/slatejs-edits/add-autocompletions\";\nimport { clearAutocompletionsFromEditor } from \"../../lib/slatejs-edits/clear-autocompletions\";\nimport { replaceEditorText } from \"../../lib/slatejs-edits/replace-text\";\nimport {\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../../types/base\";\nimport { AutosuggestionState } from \"../../types/base/autosuggestion-state\";\nimport { BaseCopilotTextareaProps } from \"../../types/base/base-copilot-textarea-props\";\nimport \"./base-copilot-textarea.css\";\nimport { HoveringToolbar } from \"../hovering-toolbar/hovering-toolbar\";\nimport { makeRenderElementFunction } from \"./render-element\";\nimport { makeRenderPlaceholderFunction } from \"./render-placeholder\";\nimport { useAddBrandingCss } from \"./use-add-branding-css\";\nimport {\n HoveringEditorProvider,\n useHoveringEditorContext,\n} from \"../hovering-toolbar/hovering-editor-provider\";\nimport { EditorAutocompleteState } from \"../../types/base/editor-autocomplete-state\";\nimport { TrackerTextEditedSinceLastCursorMovement } from \"./track-cursor-moved-since-last-text-change\";\n\nexport interface HTMLCopilotTextAreaElement extends HTMLElement {\n value: string;\n focus: () => void;\n blur: () => void;\n}\n\nconst BaseCopilotTextareaWithHoveringContext = React.forwardRef(\n (\n props: BaseCopilotTextareaProps,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n ): JSX.Element => {\n const autosuggestionsConfig: BaseAutosuggestionsConfig = {\n ...defaultBaseAutosuggestionsConfig,\n ...props.baseAutosuggestionsConfig,\n };\n\n const valueOnInitialRender = useMemo(() => props.value ?? \"\", []);\n const [lastKnownFullEditorText, setLastKnownFullEditorText] =\n useState(valueOnInitialRender);\n const [cursorMovedSinceLastTextChange, setCursorMovedSinceLastTextChange] =\n useState(false);\n\n // // When the editor text changes, we want to reset the `textEditedSinceLastCursorMovement` state.\n // useEffect(() => {\n // setCursorMovedSinceLastTextChange(false);\n // }, [lastKnownFullEditorText]);\n\n const initialValue: Descendant[] = useMemo(() => {\n return [\n {\n type: \"paragraph\",\n children: [{ text: valueOnInitialRender }],\n },\n ];\n }, [valueOnInitialRender]);\n\n const editor = useCopilotTextareaEditor();\n\n const {\n isDisplayed: hoveringEditorIsDisplayed,\n setIsDisplayed: setHoveringEditorIsDisplayed,\n } = useHoveringEditorContext();\n\n const insertText = useCallback(\n (autosuggestion: AutosuggestionState) => {\n Editor.insertText(editor, autosuggestion.text, {\n at: autosuggestion.point,\n });\n },\n [editor]\n );\n\n const {\n currentAutocompleteSuggestion,\n onChangeHandler: onChangeHandlerForAutocomplete,\n onKeyDownHandler: onKeyDownHandlerForAutocomplete,\n } = useAutosuggestions(\n autosuggestionsConfig.debounceTime,\n autosuggestionsConfig.acceptAutosuggestionKey,\n autosuggestionsConfig.apiConfig.autosuggestionsFunction,\n insertText,\n autosuggestionsConfig.disableWhenEmpty,\n autosuggestionsConfig.disabled ||\n hoveringEditorIsDisplayed || // disable autosuggestions when the hovering editor is displayed\n (cursorMovedSinceLastTextChange &&\n autosuggestionsConfig.temporarilyDisableWhenMovingCursorWithoutChangingText) // disable autosuggestions when the cursor has moved since the last text change\n );\n const onKeyDownHandlerForHoveringEditor = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // if command-k, toggle the hovering editor\n if (event.key === \"k\" && event.metaKey) {\n event.preventDefault();\n setHoveringEditorIsDisplayed(!hoveringEditorIsDisplayed);\n }\n },\n [hoveringEditorIsDisplayed, setHoveringEditorIsDisplayed]\n );\n\n // sync autosuggestions state with the editor\n useEffect(() => {\n clearAutocompletionsFromEditor(editor);\n if (currentAutocompleteSuggestion) {\n addAutocompletionsToEditor(\n editor,\n currentAutocompleteSuggestion.text,\n currentAutocompleteSuggestion.point\n );\n }\n }, [currentAutocompleteSuggestion]);\n\n const suggestionStyleAugmented: React.CSSProperties = useMemo(() => {\n return {\n fontStyle: \"italic\",\n color: \"gray\",\n ...props.suggestionsStyle,\n };\n }, [props.suggestionsStyle]);\n\n const renderElementMemoized = useMemo(() => {\n return makeRenderElementFunction(suggestionStyleAugmented);\n }, [suggestionStyleAugmented]);\n\n const renderPlaceholderMemoized = useMemo(() => {\n // For some reason slateJS specifies a top value of 0, which makes for strange styling. We override this here.\n const placeholderStyleSlatejsOverrides: React.CSSProperties = {\n top: undefined,\n };\n\n const placeholderStyleAugmented: React.CSSProperties = {\n ...placeholderStyleSlatejsOverrides,\n ...props.placeholderStyle,\n };\n\n return makeRenderPlaceholderFunction(placeholderStyleAugmented);\n }, [props.placeholderStyle]);\n\n // update the editor text, but only when the value changes from outside the component\n useEffect(() => {\n if (props.value === lastKnownFullEditorText) {\n return;\n }\n\n setLastKnownFullEditorText(props.value ?? \"\");\n replaceEditorText(editor, props.value ?? \"\");\n }, [props.value]);\n\n // separate into TextareaHTMLAttributes<HTMLDivElement> and CopilotTextareaProps\n const {\n placeholderStyle,\n value,\n hoverMenuClassname,\n onValueChange,\n baseAutosuggestionsConfig: autosuggestionsConfigFromProps,\n className,\n onChange,\n onKeyDown,\n disableBranding,\n ...propsToForward\n } = props;\n\n useAddBrandingCss(suggestionStyleAugmented, disableBranding);\n usePopulateCopilotTextareaRef(editor, ref);\n\n const moddedClassName = (() => {\n const baseClassName = \"copilot-textarea\";\n const brandingClass = disableBranding ? \"no-branding\" : \"with-branding\";\n const defaultTailwindClassName = \"bg-white overflow-y-auto resize-y\";\n const mergedClassName = twMerge(\n defaultTailwindClassName,\n className ?? \"\"\n );\n return `${baseClassName} ${brandingClass} ${mergedClassName}`;\n })();\n\n return (\n <Slate\n editor={editor}\n initialValue={initialValue}\n onChange={(value) => {\n const newEditorState = getTextAroundCollapsedCursor(editor);\n\n const fullEditorText = newEditorState\n ? newEditorState.textBeforeCursor + newEditorState.textAfterCursor\n : getFullEditorTextWithNewlines(editor); // we don't double-parse the editor. When `newEditorState` is null, we didn't parse the editor yet.\n\n setLastKnownFullEditorText((prev) => {\n if (prev !== fullEditorText) {\n setCursorMovedSinceLastTextChange(false);\n }\n return fullEditorText;\n });\n onChangeHandlerForAutocomplete(newEditorState);\n\n props.onValueChange?.(fullEditorText);\n props.onChange?.(makeSemiFakeReactTextAreaEvent(fullEditorText));\n }}\n >\n <TrackerTextEditedSinceLastCursorMovement\n setCursorMovedSinceLastTextChange={setCursorMovedSinceLastTextChange}\n />\n <HoveringToolbar\n apiConfig={autosuggestionsConfig.apiConfig}\n contextCategories={autosuggestionsConfig.contextCategories}\n hoverMenuClassname={hoverMenuClassname}\n />\n <Editable\n renderElement={renderElementMemoized}\n renderPlaceholder={renderPlaceholderMemoized}\n onKeyDown={(event) => {\n onKeyDownHandlerForHoveringEditor(event); // forward the event for internal use\n onKeyDownHandlerForAutocomplete(event); // forward the event for internal use\n props.onKeyDown?.(event); // forward the event for external use\n }}\n className={moddedClassName}\n {...propsToForward}\n />\n </Slate>\n );\n }\n);\n\n// Consumers of <textarea> expect a `onChange: (React.ChangeEvent<HTMLTextAreaElement>) => void` event handler to be passed in.\n// This is *extremely* common, and we want to support it.\n//\n// We can't support the full functionality, but in 99% of cases, the consumer only cares about the `event.target.value` property --\n// that's how they get the new value of the textarea.\n//\n// So, the tradeoff we are making is minimizing compiler complaint, with a small chance of runtime error.\n// The alternative would be defining a different onChange entrypoint (we actually do have that in `onValueChange`),\n// And starting to explain subtleties to users the moment they try to use the component for the first time for very basic functionality.\n//\n// If this proves problematic, we can always revisit this decision.\nfunction makeSemiFakeReactTextAreaEvent(\n currentText: string\n): React.ChangeEvent<HTMLTextAreaElement> {\n return {\n target: {\n value: currentText,\n type: \"copilot-textarea\",\n },\n currentTarget: {\n value: currentText,\n type: \"copilot-textarea\",\n },\n } as React.ChangeEvent<HTMLTextAreaElement>;\n}\n\nexport const BaseCopilotTextarea = React.forwardRef(\n (\n props: BaseCopilotTextareaProps,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n ): JSX.Element => {\n return (\n <HoveringEditorProvider>\n <BaseCopilotTextareaWithHoveringContext {...props} ref={ref} />\n </HoveringEditorProvider>\n );\n }\n);\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HoveringInsertionPromptBoxCore } from './chunk-
|
|
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-
|
|
21
|
+
//# sourceMappingURL=chunk-O4MHJSK2.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BaseCopilotTextarea } from '../../chunk-
|
|
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';
|
|
@@ -9,11 +9,11 @@ import '../../chunk-UHD44NC5.mjs';
|
|
|
9
9
|
import '../../chunk-JAFCXEPU.mjs';
|
|
10
10
|
import '../../chunk-OD7ZMOVE.mjs';
|
|
11
11
|
import '../../chunk-MPME5BW2.mjs';
|
|
12
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-3L6CNVCE.mjs';
|
|
13
13
|
import '../../chunk-L7VVZH4Q.mjs';
|
|
14
|
-
import '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
16
|
-
import '../../chunk-
|
|
14
|
+
import '../../chunk-O4MHJSK2.mjs';
|
|
15
|
+
import '../../chunk-GIJ3JZ4P.mjs';
|
|
16
|
+
import '../../chunk-4LOLCQGR.mjs';
|
|
17
17
|
import '../../chunk-ND5PXTAW.mjs';
|
|
18
18
|
import '../../chunk-2NURR2DX.mjs';
|
|
19
19
|
import '../../chunk-5EJ5XOGP.mjs';
|
|
@@ -25,7 +25,7 @@ import '../../chunk-O5OWT5GE.mjs';
|
|
|
25
25
|
import '../../chunk-GCMQHIRF.mjs';
|
|
26
26
|
import '../../chunk-KGKLUWKW.mjs';
|
|
27
27
|
import '../../chunk-WJHSY5T6.mjs';
|
|
28
|
-
import '../../chunk-
|
|
28
|
+
import '../../chunk-6Z2ATUNY.mjs';
|
|
29
29
|
import '../../chunk-LNAIMEB2.mjs';
|
|
30
30
|
import '../../chunk-OELUUJZY.mjs';
|
|
31
31
|
import '../../chunk-NKW5OU2S.mjs';
|