@copilotkit/react-textarea 0.11.0 → 0.13.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 (83) hide show
  1. package/.turbo/turbo-build.log +90 -70
  2. package/CHANGELOG.md +13 -0
  3. package/dist/{chunk-EHQ5TN4R.mjs → chunk-3OR5RMJQ.mjs} +5 -2
  4. package/dist/chunk-3OR5RMJQ.mjs.map +1 -0
  5. package/dist/{chunk-A3SFEHWZ.mjs → chunk-4ES2IIB6.mjs} +24 -31
  6. package/dist/chunk-4ES2IIB6.mjs.map +1 -0
  7. package/dist/chunk-4YM33JFV.mjs +28 -0
  8. package/dist/chunk-4YM33JFV.mjs.map +1 -0
  9. package/dist/chunk-AOEXKPIX.mjs +83 -0
  10. package/dist/chunk-AOEXKPIX.mjs.map +1 -0
  11. package/dist/{chunk-6SYD77G6.mjs → chunk-CSGFJU3L.mjs} +2 -2
  12. package/dist/chunk-CSGFJU3L.mjs.map +1 -0
  13. package/dist/chunk-DE5K76I2.mjs +3 -0
  14. package/dist/{chunk-E2UEE45I.mjs → chunk-HZGSG7ST.mjs} +1 -1
  15. package/dist/chunk-HZGSG7ST.mjs.map +1 -0
  16. package/dist/{chunk-THWPPG6M.mjs → chunk-IGQI27NI.mjs} +20 -2
  17. package/dist/chunk-IGQI27NI.mjs.map +1 -0
  18. package/dist/chunk-M6QFKIBE.mjs +161 -0
  19. package/dist/chunk-M6QFKIBE.mjs.map +1 -0
  20. package/dist/chunk-RXISUUUY.mjs +32 -0
  21. package/dist/chunk-RXISUUUY.mjs.map +1 -0
  22. package/dist/chunk-WADHCMPK.mjs +3 -0
  23. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +9 -4
  24. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +9 -8
  25. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +1 -1
  26. package/dist/components/copilot-textarea/copilot-textarea.d.ts +4 -2
  27. package/dist/components/copilot-textarea/copilot-textarea.mjs +13 -11
  28. package/dist/components/index.d.ts +3 -1
  29. package/dist/components/index.mjs +13 -11
  30. package/dist/hooks/{use-autosuggestions.d.ts → base-copilot-textarea-implementation/use-autosuggestions.d.ts} +3 -3
  31. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +7 -0
  32. package/dist/hooks/{use-copilot-textarea-editor.d.ts → base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts} +1 -1
  33. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +5 -0
  34. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -0
  35. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts +7 -0
  36. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +6 -0
  37. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -0
  38. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +2 -1
  39. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +1 -1
  40. package/dist/index.css +7 -0
  41. package/dist/index.css.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.mjs +15 -12
  44. package/dist/types/html-copilot-textarea-element.d.ts +7 -0
  45. package/dist/types/html-copilot-textarea-element.mjs +3 -0
  46. package/dist/types/html-copilot-textarea-element.mjs.map +1 -0
  47. package/dist/types/index.d.ts +2 -0
  48. package/dist/types/index.mjs +4 -2
  49. package/dist/types/standard-autosuggestions/autosuggestions-config.d.ts +2 -1
  50. package/dist/types/standard-autosuggestions/autosuggestions-config.mjs +2 -1
  51. package/dist/types/standard-autosuggestions/chatlike-api-endpoint.d.ts +12 -0
  52. package/dist/types/standard-autosuggestions/chatlike-api-endpoint.mjs +4 -0
  53. package/dist/types/standard-autosuggestions/chatlike-api-endpoint.mjs.map +1 -0
  54. package/dist/types/standard-autosuggestions/index.d.ts +1 -0
  55. package/dist/types/standard-autosuggestions/index.mjs +2 -1
  56. package/package.json +1 -1
  57. package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +160 -146
  58. package/src/components/base-copilot-textarea/use-add-branding-css.tsx +25 -1
  59. package/src/components/copilot-textarea/copilot-textarea.tsx +31 -21
  60. package/src/hooks/{use-autosuggestions.ts → base-copilot-textarea-implementation/use-autosuggestions.ts} +5 -5
  61. package/src/hooks/{use-copilot-textarea-editor.tsx → base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx} +5 -5
  62. package/src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts +101 -0
  63. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +25 -32
  64. package/src/types/html-copilot-textarea-element.ts +5 -0
  65. package/src/types/index.ts +1 -0
  66. package/src/types/standard-autosuggestions/autosuggestions-config.tsx +5 -2
  67. package/src/types/standard-autosuggestions/chatlike-api-endpoint.tsx +39 -0
  68. package/src/types/standard-autosuggestions/index.ts +10 -5
  69. package/dist/chunk-6SYD77G6.mjs.map +0 -1
  70. package/dist/chunk-A3SFEHWZ.mjs.map +0 -1
  71. package/dist/chunk-E2UEE45I.mjs.map +0 -1
  72. package/dist/chunk-EHQ5TN4R.mjs.map +0 -1
  73. package/dist/chunk-FD6FGKYY.mjs +0 -3
  74. package/dist/chunk-THWPPG6M.mjs.map +0 -1
  75. package/dist/chunk-YICIML6J.mjs +0 -154
  76. package/dist/chunk-YICIML6J.mjs.map +0 -1
  77. package/dist/chunk-YTT5NE6B.mjs +0 -25
  78. package/dist/chunk-YTT5NE6B.mjs.map +0 -1
  79. package/dist/hooks/use-autosuggestions.mjs +0 -7
  80. package/dist/hooks/use-copilot-textarea-editor.mjs +0 -5
  81. /package/dist/{chunk-FD6FGKYY.mjs.map → chunk-DE5K76I2.mjs.map} +0 -0
  82. /package/dist/{hooks/use-autosuggestions.mjs.map → chunk-WADHCMPK.mjs.map} +0 -0
  83. /package/dist/hooks/{use-copilot-textarea-editor.mjs.map → base-copilot-textarea-implementation/use-autosuggestions.mjs.map} +0 -0
@@ -1,8 +1,8 @@
1
1
 
2
- > @copilotkit/react-textarea@0.11.0 build /home/runner/work/CopilotKit/CopilotKit/CopilotKit/packages/react-textarea
2
+ > @copilotkit/react-textarea@0.13.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/hooks/use-autosuggestions.ts, src/hooks/use-copilot-textarea-editor.tsx, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/utils.test.ts, src/lib/utils.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/use-add-branding-css.tsx, src/components/copilot-textarea/copilot-textarea.tsx, src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.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/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/types/standard-autosuggestions/autosuggestions-config.tsx, src/types/standard-autosuggestions/index.ts, src/types/standard-autosuggestions/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/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/use-add-branding-css.tsx, src/components/copilot-textarea/copilot-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/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/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/types/standard-autosuggestions/autosuggestions-config.tsx, src/types/standard-autosuggestions/chatlike-api-endpoint.tsx, src/types/standard-autosuggestions/index.ts, src/types/standard-autosuggestions/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
@@ -13,29 +13,31 @@ Browserslist: caniuse-lite is outdated. Please run:
13
13
  npx update-browserslist-db@latest
14
14
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
15
15
  DTS Build start
16
- Generated an empty chunk: "base-copilot-textarea-props".
17
- Generated an empty chunk: "custom-editor".
18
16
  Generated an empty chunk: "minimal-chat-gpt-message".
19
17
  Generated an empty chunk: "autosuggestion-state".
20
18
  Generated an empty chunk: "autosuggestions-bare-function".
21
- Generated an empty chunk: "chunk-FD6FGKYY".
19
+ Generated an empty chunk: "base-copilot-textarea-props".
20
+ Generated an empty chunk: "custom-editor".
21
+ Generated an empty chunk: "chunk-DE5K76I2".
22
+ Generated an empty chunk: "chunk-WADHCMPK".
22
23
  Generated an empty chunk: "chunk-MMVDU6DF".
23
24
  Generated an empty chunk: "chunk-AZQCUNBV".
24
25
  Generated an empty chunk: "chunk-WJHSY5T6".
25
26
  Generated an empty chunk: "chunk-IU3WTXLQ".
26
27
  Generated an empty chunk: "chunk-H4VKQGVU".
27
- ESM dist/index.css 5.75 KB
28
+ ESM dist/index.css 5.99 KB
28
29
  ESM dist/components/index.css 242.00 B
29
- ESM dist/components/copilot-textarea/copilot-textarea.css 253.00 B
30
30
  ESM dist/components/base-copilot-textarea/base-copilot-textarea.css 258.00 B
31
- ESM dist/index.css.map 12.37 KB
31
+ ESM dist/components/copilot-textarea/copilot-textarea.css 253.00 B
32
+ ESM dist/index.css.map 12.66 KB
32
33
  ESM dist/components/index.css.map 429.00 B
33
34
  ESM dist/lib/utils.test.mjs 200.00 B
34
35
  ESM dist/lib/slatejs-edits/add-autocompletions.mjs 186.00 B
35
- ESM dist/types/index.mjs 387.00 B
36
+ ESM dist/types/html-copilot-textarea-element.mjs 122.00 B
36
37
  ESM dist/context/index.mjs 98.00 B
37
38
  ESM dist/hooks/index.mjs 98.00 B
38
- ESM dist/chunk-FD6FGKYY.mjs 76.00 B
39
+ ESM dist/chunk-DE5K76I2.mjs 76.00 B
40
+ ESM dist/chunk-WADHCMPK.mjs 76.00 B
39
41
  ESM dist/chunk-MMVDU6DF.mjs 76.00 B
40
42
  ESM dist/chunk-AZQCUNBV.mjs 76.00 B
41
43
  ESM dist/chunk-WJHSY5T6.mjs 76.00 B
@@ -43,58 +45,64 @@ Generated an empty chunk: "chunk-H4VKQGVU".
43
45
  ESM dist/chunk-IU3WTXLQ.mjs 76.00 B
44
46
  ESM dist/chunk-H4VKQGVU.mjs 76.00 B
45
47
  ESM dist/chunk-MRXNTQOX.mjs 1.92 KB
46
- ESM dist/components/copilot-textarea/copilot-textarea.mjs 837.00 B
47
48
  ESM dist/lib/slatejs-edits/clear-autocompletions.mjs 192.00 B
48
49
  ESM dist/lib/slatejs-edits/replace-text.mjs 170.00 B
49
50
  ESM dist/lib/slatejs-edits/with-partial-history.mjs 198.00 B
50
- ESM dist/lib/get-text-around-cursor.mjs 232.00 B
51
51
  ESM dist/lib/utils.mjs 220.00 B
52
- ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 706.00 B
52
+ ESM dist/types/index.mjs 451.00 B
53
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 741.00 B
53
54
  ESM dist/components/base-copilot-textarea/render-element.mjs 180.00 B
54
55
  ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
55
56
  ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs 178.00 B
56
- ESM dist/index.mjs 1.00 KB
57
- ESM dist/components/index.mjs 824.00 B
58
- ESM dist/chunk-YTT5NE6B.mjs 1.06 KB
59
- ESM dist/chunk-A3SFEHWZ.mjs 2.09 KB
60
- ESM dist/chunk-EHQ5TN4R.mjs 2.75 KB
61
- ESM dist/chunk-YICIML6J.mjs 5.58 KB
57
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs 907.00 B
58
+ ESM dist/index.mjs 1.09 KB
59
+ ESM dist/components/index.mjs 888.00 B
60
+ ESM dist/chunk-RXISUUUY.mjs 1.23 KB
61
+ ESM dist/chunk-4ES2IIB6.mjs 1.76 KB
62
+ ESM dist/chunk-3OR5RMJQ.mjs 2.86 KB
63
+ ESM dist/chunk-4YM33JFV.mjs 881.00 B
64
+ ESM dist/chunk-M6QFKIBE.mjs 5.99 KB
65
+ ESM dist/chunk-HZGSG7ST.mjs 3.02 KB
66
+ ESM dist/chunk-UW3ITU2Y.mjs 496.00 B
67
+ ESM dist/chunk-CSGFJU3L.mjs 2.01 KB
68
+ ESM dist/chunk-AOEXKPIX.mjs 2.57 KB
62
69
  ESM dist/chunk-WJYQWL4I.mjs 595.00 B
63
70
  ESM dist/chunk-4XYYSJ5C.mjs 527.00 B
64
71
  ESM dist/chunk-TSF4AJIK.mjs 716.00 B
65
- ESM dist/chunk-3UQM3NLM.mjs 1.76 KB
72
+ ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
73
+ ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
66
74
  ESM dist/chunk-LNAIMEB2.mjs 1.09 KB
67
75
  ESM dist/chunk-OELUUJZY.mjs 625.00 B
68
- ESM dist/chunk-THWPPG6M.mjs 1.40 KB
69
- ESM dist/hooks/use-autosuggestions.mjs 268.00 B
70
- ESM dist/chunk-E2UEE45I.mjs 3.02 KB
71
- ESM dist/chunk-UW3ITU2Y.mjs 496.00 B
72
- ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
73
- ESM dist/hooks/use-copilot-textarea-editor.mjs 218.00 B
74
- ESM dist/chunk-6SYD77G6.mjs 2.01 KB
75
- ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
76
+ ESM dist/chunk-IGQI27NI.mjs 2.11 KB
76
77
  ESM dist/lib/debouncer.mjs 153.00 B
77
78
  ESM dist/chunk-NKW5OU2S.mjs 959.00 B
78
79
  ESM dist/lib/editor-to-text.mjs 1.34 KB
79
- ESM dist/components/copilot-textarea/copilot-textarea.css.map 432.00 B
80
+ ESM dist/lib/get-text-around-cursor.mjs 232.00 B
81
+ ESM dist/chunk-3UQM3NLM.mjs 1.76 KB
80
82
  ESM dist/components/base-copilot-textarea/base-copilot-textarea.css.map 432.00 B
81
- ESM dist/types/base/base-copilot-textarea-props.mjs 89.00 B
83
+ ESM dist/components/copilot-textarea/copilot-textarea.css.map 432.00 B
82
84
  ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs 86.00 B
83
- ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 220.00 B
84
- ESM dist/types/base/custom-editor.mjs 75.00 B
85
85
  ESM dist/types/base/autosuggestion-state.mjs 82.00 B
86
+ ESM dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs 283.00 B
87
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 220.00 B
86
88
  ESM dist/types/base/autosuggestions-bare-function.mjs 91.00 B
89
+ ESM dist/types/base/base-copilot-textarea-props.mjs 89.00 B
90
+ ESM dist/types/base/custom-editor.mjs 75.00 B
91
+ ESM dist/types/standard-autosuggestions/chatlike-api-endpoint.mjs 181.00 B
92
+ ESM dist/types/standard-autosuggestions/index.mjs 363.00 B
87
93
  ESM dist/types/base/base-autosuggestions-config.mjs 200.00 B
88
94
  ESM dist/types/base/editor-autocomplete-state.mjs 227.00 B
89
95
  ESM dist/types/base/index.mjs 213.00 B
90
- ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs 310.00 B
91
- ESM dist/types/standard-autosuggestions/index.mjs 328.00 B
96
+ ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs 345.00 B
97
+ ESM dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs 227.00 B
98
+ ESM dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs 273.00 B
92
99
  ESM dist/lib/utils.test.mjs.map 349.00 B
93
100
  ESM dist/lib/slatejs-edits/add-autocompletions.mjs.map 51.00 B
94
- ESM dist/types/index.mjs.map 51.00 B
101
+ ESM dist/types/html-copilot-textarea-element.mjs.map 51.00 B
95
102
  ESM dist/context/index.mjs.map 51.00 B
96
103
  ESM dist/hooks/index.mjs.map 51.00 B
97
- ESM dist/chunk-FD6FGKYY.mjs.map 51.00 B
104
+ ESM dist/chunk-DE5K76I2.mjs.map 51.00 B
105
+ ESM dist/chunk-WADHCMPK.mjs.map 51.00 B
98
106
  ESM dist/chunk-MMVDU6DF.mjs.map 51.00 B
99
107
  ESM dist/chunk-AZQCUNBV.mjs.map 51.00 B
100
108
  ESM dist/chunk-WJHSY5T6.mjs.map 51.00 B
@@ -102,81 +110,93 @@ Generated an empty chunk: "chunk-H4VKQGVU".
102
110
  ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
103
111
  ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
104
112
  ESM dist/chunk-MRXNTQOX.mjs.map 71.00 B
105
- ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
106
113
  ESM dist/lib/slatejs-edits/clear-autocompletions.mjs.map 51.00 B
107
114
  ESM dist/lib/slatejs-edits/replace-text.mjs.map 51.00 B
108
115
  ESM dist/lib/slatejs-edits/with-partial-history.mjs.map 51.00 B
109
- ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
110
116
  ESM dist/lib/utils.mjs.map 51.00 B
117
+ ESM dist/types/index.mjs.map 51.00 B
111
118
  ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
112
119
  ESM dist/components/base-copilot-textarea/render-element.mjs.map 51.00 B
113
120
  ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
114
121
  ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs.map 51.00 B
122
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
115
123
  ESM dist/index.mjs.map 51.00 B
116
124
  ESM dist/components/index.mjs.map 51.00 B
117
- ESM dist/chunk-YTT5NE6B.mjs.map 1.81 KB
118
- ESM dist/chunk-A3SFEHWZ.mjs.map 4.73 KB
119
- ESM dist/chunk-EHQ5TN4R.mjs.map 4.01 KB
120
- ESM dist/chunk-YICIML6J.mjs.map 10.01 KB
125
+ ESM dist/chunk-RXISUUUY.mjs.map 2.17 KB
126
+ ESM dist/chunk-4ES2IIB6.mjs.map 4.41 KB
127
+ ESM dist/chunk-3OR5RMJQ.mjs.map 4.17 KB
128
+ ESM dist/chunk-4YM33JFV.mjs.map 1.57 KB
129
+ ESM dist/chunk-M6QFKIBE.mjs.map 10.78 KB
130
+ ESM dist/chunk-HZGSG7ST.mjs.map 5.83 KB
131
+ ESM dist/chunk-UW3ITU2Y.mjs.map 878.00 B
132
+ ESM dist/chunk-CSGFJU3L.mjs.map 3.82 KB
133
+ ESM dist/chunk-AOEXKPIX.mjs.map 4.80 KB
121
134
  ESM dist/chunk-WJYQWL4I.mjs.map 1.04 KB
122
135
  ESM dist/chunk-4XYYSJ5C.mjs.map 921.00 B
123
136
  ESM dist/chunk-TSF4AJIK.mjs.map 1.31 KB
124
- ESM dist/chunk-3UQM3NLM.mjs.map 3.63 KB
137
+ ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
138
+ ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
125
139
  ESM dist/chunk-LNAIMEB2.mjs.map 1.73 KB
126
140
  ESM dist/chunk-OELUUJZY.mjs.map 957.00 B
127
- ESM dist/chunk-THWPPG6M.mjs.map 2.24 KB
128
- ESM dist/hooks/use-autosuggestions.mjs.map 51.00 B
129
- ESM dist/chunk-E2UEE45I.mjs.map 5.78 KB
130
- ESM dist/chunk-UW3ITU2Y.mjs.map 878.00 B
131
- ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
132
- ESM dist/hooks/use-copilot-textarea-editor.mjs.map 51.00 B
133
- ESM dist/chunk-6SYD77G6.mjs.map 3.78 KB
134
- ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
141
+ ESM dist/chunk-IGQI27NI.mjs.map 3.42 KB
135
142
  ESM dist/lib/debouncer.mjs.map 51.00 B
136
143
  ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
137
144
  ESM dist/lib/editor-to-text.mjs.map 2.83 KB
138
- ESM dist/types/base/base-copilot-textarea-props.mjs.map 51.00 B
145
+ ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
146
+ ESM dist/chunk-3UQM3NLM.mjs.map 3.63 KB
139
147
  ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs.map 51.00 B
140
- ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
141
- ESM dist/types/base/custom-editor.mjs.map 51.00 B
142
148
  ESM dist/types/base/autosuggestion-state.mjs.map 51.00 B
149
+ ESM dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map 51.00 B
150
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
143
151
  ESM dist/types/base/autosuggestions-bare-function.mjs.map 51.00 B
152
+ ESM dist/types/base/base-copilot-textarea-props.mjs.map 51.00 B
153
+ ESM dist/types/base/custom-editor.mjs.map 51.00 B
154
+ ESM dist/types/standard-autosuggestions/chatlike-api-endpoint.mjs.map 51.00 B
155
+ ESM dist/types/standard-autosuggestions/index.mjs.map 51.00 B
144
156
  ESM dist/types/base/base-autosuggestions-config.mjs.map 51.00 B
145
157
  ESM dist/types/base/editor-autocomplete-state.mjs.map 51.00 B
146
158
  ESM dist/types/base/index.mjs.map 51.00 B
147
159
  ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs.map 51.00 B
148
- ESM dist/types/standard-autosuggestions/index.mjs.map 51.00 B
149
- ESM ⚡️ Build success in 3609ms
150
- DTS ⚡️ Build success in 6074ms
151
- DTS dist/index.d.ts 825.00 B
152
- DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 445.00 B
153
- DTS dist/components/copilot-textarea/copilot-textarea.d.ts 641.00 B
160
+ ESM dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map 51.00 B
161
+ ESM dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map 51.00 B
162
+ ESM ⚡️ Build success in 4397ms
163
+ Export "AutosuggestionsConfig" of module "src/types/standard-autosuggestions/autosuggestions-config.tsx" was reexported through module "src/types/standard-autosuggestions/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
164
+ Either change the import in "src/components/copilot-textarea/copilot-textarea.tsx" to point directly to the exporting module or do not use "preserveModules" to ensure these modules end up in the same chunk.
165
+ Export "MakeSystemPrompt" of module "src/types/standard-autosuggestions/autosuggestions-config.tsx" was reexported through module "src/types/standard-autosuggestions/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
166
+ Either change the import in "src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx" to point directly to the exporting module or do not use "preserveModules" to ensure these modules end up in the same chunk.
167
+ DTS ⚡️ Build success in 7550ms
168
+ DTS dist/index.d.ts 1.07 KB
169
+ DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 669.00 B
170
+ DTS dist/components/copilot-textarea/copilot-textarea.d.ts 875.00 B
154
171
  DTS dist/types/base/base-autosuggestions-config.d.ts 355.00 B
155
172
  DTS dist/types/base/autosuggestions-bare-function.d.ts 162.00 B
156
173
  DTS dist/types/base/base-copilot-textarea-props.d.ts 1.89 KB
157
- DTS dist/types/standard-autosuggestions/autosuggestions-config.d.ts 884.00 B
174
+ DTS dist/types/html-copilot-textarea-element.d.ts 165.00 B
175
+ DTS dist/types/standard-autosuggestions/autosuggestions-config.d.ts 963.00 B
158
176
  DTS dist/types/standard-autosuggestions/minimal-chat-gpt-message.d.ts 129.00 B
159
- DTS dist/components/index.d.ts 509.00 B
177
+ DTS dist/types/standard-autosuggestions/chatlike-api-endpoint.d.ts 485.00 B
178
+ DTS dist/components/index.d.ts 630.00 B
160
179
  DTS dist/context/index.d.ts 1.00 B
161
180
  DTS dist/hooks/index.d.ts 1.00 B
162
- DTS dist/hooks/use-autosuggestions.d.ts 879.00 B
163
- DTS dist/types/base/autosuggestion-state.d.ts 143.00 B
164
- DTS dist/types/base/editor-autocomplete-state.d.ts 342.00 B
165
- DTS dist/hooks/use-copilot-textarea-editor.d.ts 223.00 B
166
- DTS dist/types/base/custom-editor.d.ts 801.00 B
167
181
  DTS dist/lib/debouncer.d.ts 372.00 B
168
182
  DTS dist/lib/editor-to-text.d.ts 243.00 B
169
183
  DTS dist/lib/get-text-around-cursor.d.ts 453.00 B
184
+ DTS dist/types/base/editor-autocomplete-state.d.ts 342.00 B
170
185
  DTS dist/lib/utils.test.d.ts 1.00 B
171
186
  DTS dist/lib/utils.d.ts 638.00 B
172
- DTS dist/types/index.d.ts 589.00 B
187
+ DTS dist/types/index.d.ts 850.00 B
173
188
  DTS dist/components/base-copilot-textarea/render-element.d.ts 292.00 B
174
189
  DTS dist/components/base-copilot-textarea/render-placeholder.d.ts 321.00 B
175
190
  DTS dist/components/base-copilot-textarea/use-add-branding-css.d.ts 158.00 B
176
- DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.79 KB
191
+ DTS dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts 888.00 B
192
+ DTS dist/types/base/autosuggestion-state.d.ts 143.00 B
193
+ DTS dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts 226.00 B
194
+ DTS dist/types/base/custom-editor.d.ts 801.00 B
195
+ DTS dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts 308.00 B
196
+ DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.90 KB
177
197
  DTS dist/lib/slatejs-edits/add-autocompletions.d.ts 302.00 B
178
198
  DTS dist/lib/slatejs-edits/clear-autocompletions.d.ts 250.00 B
179
199
  DTS dist/lib/slatejs-edits/replace-text.d.ts 139.00 B
180
200
  DTS dist/lib/slatejs-edits/with-partial-history.d.ts 542.00 B
181
201
  DTS dist/types/base/index.d.ts 287.00 B
182
- DTS dist/types/standard-autosuggestions/index.d.ts 286.00 B
202
+ DTS dist/types/standard-autosuggestions/index.d.ts 441.00 B
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # ui
2
2
 
3
+ ## 0.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1f26798: standard CopilotTextarea apiEndpoint takes an implementation, not just a string endpoint
8
+
9
+ ## 0.12.0
10
+
11
+ ### Minor Changes
12
+
13
+ - ec7484f: - CopilotTextarea supports passing in ref compatible with <textarea>'s HTMLTextAreaElement ref (for focus, blur, styling, etc.)
14
+ - Minor bug fix: CopilotTextarea branding remains correclty positioned as textarea scrolls
15
+
3
16
  ## 0.11.0
4
17
 
5
18
  ### Minor Changes
@@ -1,3 +1,4 @@
1
+ import { ChatlikeApiEndpoint } from './chunk-4YM33JFV.mjs';
1
2
  import { defaultBaseAutosuggestionsConfig } from './chunk-7KWRVIYV.mjs';
2
3
  import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
3
4
 
@@ -57,7 +58,9 @@ var defaultFewShotMessages = [
57
58
  }
58
59
  ];
59
60
  var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseAutosuggestionsConfig), {
60
- apiEndpoint: "api/autosuggestions",
61
+ apiEndpoint: ChatlikeApiEndpoint.standardOpenAIEndpoint(
62
+ "api/autosuggestions"
63
+ ),
61
64
  makeSystemPrompt: defaultMakeSystemPrompt,
62
65
  fewShotMessages: defaultFewShotMessages,
63
66
  externalContextCategories: void 0,
@@ -66,4 +69,4 @@ var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseA
66
69
 
67
70
  export { defaultAutosuggestionsConfig, defaultFewShotMessages, defaultMakeSystemPrompt };
68
71
  //# sourceMappingURL=out.js.map
69
- //# sourceMappingURL=chunk-EHQ5TN4R.mjs.map
72
+ //# sourceMappingURL=chunk-3OR5RMJQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/standard-autosuggestions/autosuggestions-config.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAoBO,IAAM,0BAA4C,CACvD,eACA,kBACG;AACH,SAAO;AAAA;AAAA;AAAA,mBAGW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBlB;AAAA;AAAA;AAGF;AAEO,IAAM,yBAAkD;AAAA,EAC7D;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,SACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,SACE;AAAA,EACJ;AACF;AACO,IAAM,+BAGT,iCACC,mCADD;AAAA,EAGF,aAAa,oBAAoB;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,2BAA2B;AAAA,EAC3B,iBAAiB;AACnB","sourcesContent":["import {\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../base\";\nimport { ChatlikeApiEndpoint } from \"./chatlike-api-endpoint\";\nimport { MinimalChatGPTMessage } from \"./minimal-chat-gpt-message\";\n\nexport type MakeSystemPrompt = (\n purposePrompt: string,\n contextString: string\n) => string;\n\nexport interface AutosuggestionsConfig extends BaseAutosuggestionsConfig {\n apiEndpoint: ChatlikeApiEndpoint;\n externalContextCategories: string[] | undefined;\n makeSystemPrompt: MakeSystemPrompt;\n fewShotMessages: MinimalChatGPTMessage[];\n forwardedParams: { [key: string]: any } | undefined;\n}\n\nexport const defaultMakeSystemPrompt: MakeSystemPrompt = (\n purposePrompt,\n contextString\n) => {\n return `You are a versatile writing assistant.\n \nThe user is writing some text.\nThe purpose is: \\\"${purposePrompt}\\\"\n\nYour job is to guess what the user will write next AS BEST YOU CAN.\nOnly guess a SHORT distance ahead. Usually 1 sentence, or at most 1 paragraph.\n\nAdjust yourself to the user's style and implied intent.\n\nThe user will provide both the text before and after the cursor. You should use this to infer what the user is likely to write next.\n<TextAfterCursor>\n<TextBeforeCursor>\n<YourSuggestion>\n\nIf we need to add a whitespace character to the suggested text, make sure to explicitly add it in.\n\nThe following external context is also provided. Use it to help you make better suggestions!!!\n\\`\\`\\`\n${contextString}\n\\`\\`\\`\n`;\n};\n\nexport const defaultFewShotMessages: MinimalChatGPTMessage[] = [\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content:\n \"While I was there I also picked up some apples, oranges, and bananas.\",\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: \"This morning I woke up and went straight to the grocery store.\",\n },\n {\n role: \"assistant\",\n content:\n \" When I arrived I went straight to the produce section and picked out a big watermelon. \",\n },\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content:\n \"and (iii) to the appointment of the Equityholders' Representative pursuant to Section 10.7 of the Merger Agreement and to the provisions thereof.\",\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content:\n 'The Optionholder, in the Optionholder\\'s capacity as a holder of vested Options, hereby irrevocably and unconditionally agrees: (i) that the Optionholder shall be deemed an \"Equityholder\" under the Merger Agreement and shall be entitled to the rights and benefits, and subject to the obligations, of an \"Equityholder\" thereunder;',\n },\n {\n role: \"assistant\",\n content:\n ' (ii) that, for purposes of this Agreement and the Merger Agreement, the applicable percentage set forth opposite the name of the Optionholder in the Distribution Waterfall shall be such the Optionholder\\'s \"Pro Rata Share\"; ',\n },\n];\nexport const defaultAutosuggestionsConfig: Omit<\n AutosuggestionsConfig,\n \"purposePrompt\"\n> = {\n ...defaultBaseAutosuggestionsConfig,\n\n apiEndpoint: ChatlikeApiEndpoint.standardOpenAIEndpoint(\n \"api/autosuggestions\"\n ),\n makeSystemPrompt: defaultMakeSystemPrompt,\n fewShotMessages: defaultFewShotMessages,\n externalContextCategories: undefined,\n forwardedParams: undefined,\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { __async, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
1
+ import { __async } from './chunk-MRXNTQOX.mjs';
2
2
  import { CopilotContext } from '@copilotkit/react-core';
3
3
  import { useContext, useCallback } from 'react';
4
4
 
@@ -7,36 +7,29 @@ function useMakeStandardAutosuggestionFunction(purposePrompt, apiEndpoint, makeS
7
7
  return useCallback(
8
8
  (beforeText, afterText, abortSignal) => __async(this, null, function* () {
9
9
  const res = yield retry(() => __async(this, null, function* () {
10
- return yield fetch(apiEndpoint, {
11
- method: "POST",
12
- body: JSON.stringify(__spreadProps(__spreadValues({}, forwardedProps), {
13
- messages: [
14
- {
15
- role: "system",
16
- content: makeSystemPrompt(
17
- purposePrompt,
18
- getContextString(contextCategories)
19
- )
20
- },
21
- ...fewShotMessages,
22
- {
23
- role: "user",
24
- name: "TextAfterCursor",
25
- content: afterText
26
- },
27
- {
28
- role: "user",
29
- name: "TextBeforeCursor",
30
- content: beforeText
31
- }
32
- ]
33
- })),
34
- signal: abortSignal
35
- });
10
+ const messages = [
11
+ {
12
+ role: "system",
13
+ content: makeSystemPrompt(
14
+ purposePrompt,
15
+ getContextString(contextCategories)
16
+ )
17
+ },
18
+ ...fewShotMessages,
19
+ {
20
+ role: "user",
21
+ name: "TextAfterCursor",
22
+ content: afterText
23
+ },
24
+ {
25
+ role: "user",
26
+ name: "TextBeforeCursor",
27
+ content: beforeText
28
+ }
29
+ ];
30
+ return yield apiEndpoint.run(abortSignal, messages, forwardedProps);
36
31
  }));
37
- const json = yield res.json();
38
- const suggestion = json.choices[0].message.content;
39
- return suggestion;
32
+ return res;
40
33
  }),
41
34
  [
42
35
  apiEndpoint,
@@ -64,4 +57,4 @@ function retry(fn, retriesLeft = 2, interval = 200, backoff = 1.5) {
64
57
 
65
58
  export { useMakeStandardAutosuggestionFunction };
66
59
  //# sourceMappingURL=out.js.map
67
- //# sourceMappingURL=chunk-A3SFEHWZ.mjs.map
60
+ //# sourceMappingURL=chunk-4ES2IIB6.mjs.map
@@ -0,0 +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;AAoBjC,SAAS,sCACd,eACA,aACA,kBACA,iBACA,mBACA,gBAC6B;AAC7B,QAAM,EAAE,iBAAiB,IAAI,WAAW,cAAc;AAEtD,SAAO;AAAA,IACL,CAAO,YAAoB,WAAmB,gBAA6B;AACzE,YAAM,MAAM,MAAM,MAAM,MAAY;AAClC,cAAM,WAAoC;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP;AAAA,cACA,iBAAiB,iBAAiB;AAAA,YACpC;AAAA,UACF;AAAA,UACA,GAAG;AAAA,UACH;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAEA,eAAO,MAAM,YAAY,IAAI,aAAa,UAAU,cAAc;AAAA,MACpE,EAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,MACP,IACA,cAAsB,GACtB,WAAmB,KACnB,UAAkB,KACN;AACZ,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,OAAG,EACA,KAAK,OAAO,EACZ,MAAM,CAAC,UAAU;AAChB,UAAI,gBAAgB,GAAG;AACrB,eAAO,KAAK;AACZ;AAAA,MACF;AAEA,iBAAW,MAAM;AACf,cAAM,IAAI,cAAc,GAAG,WAAW,SAAS,OAAO,EACnD,KAAK,OAAO,EACZ,MAAM,MAAM;AAAA,MACjB,GAAG,QAAQ;AAAA,IACb,CAAC;AAAA,EACL,CAAC;AACH","sourcesContent":["import { CopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback, useContext } from \"react\";\nimport {\n AutosuggestionsBareFunction,\n MakeSystemPrompt,\n MinimalChatGPTMessage,\n} from \"../../types\";\nimport { ChatlikeApiEndpoint } from \"../../types/standard-autosuggestions/chatlike-api-endpoint\";\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 purposePrompt - 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 purposePrompt: string,\n apiEndpoint: ChatlikeApiEndpoint,\n makeSystemPrompt: MakeSystemPrompt,\n fewShotMessages: MinimalChatGPTMessage[],\n contextCategories: string[] | undefined,\n forwardedProps?: { [key: string]: any }\n): AutosuggestionsBareFunction {\n const { getContextString } = useContext(CopilotContext);\n\n return useCallback(\n async (beforeText: string, afterText: string, abortSignal: AbortSignal) => {\n const res = await retry(async () => {\n const messages: MinimalChatGPTMessage[] = [\n {\n role: \"system\",\n content: makeSystemPrompt(\n purposePrompt,\n getContextString(contextCategories)\n ),\n },\n ...fewShotMessages,\n {\n role: \"user\",\n name: \"TextAfterCursor\",\n content: afterText,\n },\n {\n role: \"user\",\n name: \"TextBeforeCursor\",\n content: beforeText,\n },\n ];\n\n return await apiEndpoint.run(abortSignal, messages, forwardedProps);\n });\n\n return res;\n },\n [\n apiEndpoint,\n makeSystemPrompt,\n fewShotMessages,\n getContextString,\n contextCategories,\n purposePrompt,\n ]\n );\n}\n\nfunction retry<T>(\n fn: () => Promise<T>,\n retriesLeft: number = 2,\n interval: number = 200,\n backoff: number = 1.5\n): Promise<T> {\n return new Promise((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n if (retriesLeft === 1) {\n reject(error);\n return;\n }\n\n setTimeout(() => {\n retry(fn, retriesLeft - 1, interval * backoff, backoff)\n .then(resolve)\n .catch(reject);\n }, interval);\n });\n });\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { __async, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
2
+
3
+ // src/types/standard-autosuggestions/chatlike-api-endpoint.tsx
4
+ var ChatlikeApiEndpoint = class {
5
+ constructor(run) {
6
+ this.run = run;
7
+ }
8
+ static standardOpenAIEndpoint(apiEndpoint) {
9
+ return new ChatlikeApiEndpoint(
10
+ (abortSignal, messages, forwardedProps) => __async(this, null, function* () {
11
+ const res = yield fetch(apiEndpoint, {
12
+ method: "POST",
13
+ body: JSON.stringify(__spreadProps(__spreadValues({}, forwardedProps), {
14
+ messages
15
+ })),
16
+ signal: abortSignal
17
+ });
18
+ const json = yield res.json();
19
+ const suggestion = json.choices[0].message.content;
20
+ return suggestion;
21
+ })
22
+ );
23
+ }
24
+ };
25
+
26
+ export { ChatlikeApiEndpoint };
27
+ //# sourceMappingURL=out.js.map
28
+ //# sourceMappingURL=chunk-4YM33JFV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/standard-autosuggestions/chatlike-api-endpoint.tsx"],"names":[],"mappings":";;;;;;;AAQO,IAAM,sBAAN,MAA0B;AAAA,EAG/B,YAAY,KAA8B;AACxC,SAAK,MAAM;AAAA,EACb;AAAA,EAGA,OAAO,uBAAuB,aAA0C;AACtE,WAAO,IAAI;AAAA,MACT,CACE,aACA,UACA,mBACG;AACH,cAAM,MAAM,MAAM,MAAM,aAAa;AAAA,UACnC,QAAQ;AAAA,UACR,MAAM,KAAK,UAAU,iCAChB,iBADgB;AAAA,YAEnB;AAAA,UACF,EAAC;AAAA,UACD,QAAQ;AAAA,QACV,CAAC;AAED,cAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,cAAM,aAAa,KAAK,QAAQ,GAAG,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF","sourcesContent":["import { MinimalChatGPTMessage } from \"..\";\n\nexport type ChatlikeApiEndpointImpl = (\n abortSignal: AbortSignal,\n messages: MinimalChatGPTMessage[],\n forwardedProps?: { [key: string]: any }\n) => Promise<string>;\n\nexport class ChatlikeApiEndpoint {\n public run: ChatlikeApiEndpointImpl;\n\n constructor(run: ChatlikeApiEndpointImpl) {\n this.run = run;\n }\n\n // Static method\n static standardOpenAIEndpoint(apiEndpoint: string): ChatlikeApiEndpoint {\n return new ChatlikeApiEndpoint(\n async (\n abortSignal: AbortSignal,\n messages: MinimalChatGPTMessage[],\n forwardedProps?: { [key: string]: any }\n ) => {\n const res = await fetch(apiEndpoint, {\n method: \"POST\",\n body: JSON.stringify({\n ...forwardedProps,\n messages: messages,\n }),\n signal: abortSignal,\n });\n\n const json = await res.json();\n const suggestion = json.choices[0].message.content;\n return suggestion;\n }\n );\n }\n}\n"]}
@@ -0,0 +1,83 @@
1
+ import { replaceEditorText } from './chunk-TSF4AJIK.mjs';
2
+ import { getFullEditorTextWithNewlines } from './chunk-3UQM3NLM.mjs';
3
+ import React from 'react';
4
+ import { ReactEditor } from 'slate-react';
5
+
6
+ function usePopulateCopilotTextareaRef(editor, ref) {
7
+ React.useImperativeHandle(
8
+ ref,
9
+ () => {
10
+ class Combined {
11
+ constructor(customMethods2, editorHtmlElement2) {
12
+ this.customMethods = customMethods2;
13
+ this.editorHtmlElement = editorHtmlElement2;
14
+ }
15
+ get(target, propKey) {
16
+ if (this.isKeyOfCustomMethods(propKey)) {
17
+ const value = this.customMethods[propKey];
18
+ if (typeof value === "function") {
19
+ return value.bind(this.customMethods);
20
+ }
21
+ return value;
22
+ } else if (this.isKeyOfHTMLElement(propKey)) {
23
+ const value = this.editorHtmlElement[propKey];
24
+ if (typeof value === "function") {
25
+ return value.bind(this.editorHtmlElement);
26
+ }
27
+ return value;
28
+ }
29
+ }
30
+ set(target, propKey, value) {
31
+ if (this.isKeyOfCustomMethods(propKey)) {
32
+ this.customMethods[propKey] = value;
33
+ } else if (this.isKeyOfHTMLElement(propKey)) {
34
+ this.editorHtmlElement[propKey] = value;
35
+ } else {
36
+ target[propKey] = value;
37
+ }
38
+ return true;
39
+ }
40
+ isKeyOfCustomMethods(key) {
41
+ return key in this.customMethods;
42
+ }
43
+ isKeyOfHTMLElement(key) {
44
+ return key in this.editorHtmlElement;
45
+ }
46
+ }
47
+ const handler = {
48
+ get(target, propKey) {
49
+ return target.get(target, propKey);
50
+ },
51
+ set(target, propKey, value) {
52
+ return target.set(target, propKey, value);
53
+ }
54
+ };
55
+ class CustomMethods {
56
+ constructor(editor2) {
57
+ this.editor = editor2;
58
+ }
59
+ focus() {
60
+ ReactEditor.focus(this.editor);
61
+ }
62
+ blur() {
63
+ ReactEditor.blur(this.editor);
64
+ }
65
+ get value() {
66
+ return getFullEditorTextWithNewlines(this.editor);
67
+ }
68
+ set value(value) {
69
+ replaceEditorText(this.editor, value);
70
+ }
71
+ }
72
+ const editorHtmlElement = ReactEditor.toDOMNode(editor, editor);
73
+ const customMethods = new CustomMethods(editor);
74
+ const combined = new Combined(customMethods, editorHtmlElement);
75
+ return new Proxy(combined, handler);
76
+ },
77
+ [editor]
78
+ );
79
+ }
80
+
81
+ export { usePopulateCopilotTextareaRef };
82
+ //# sourceMappingURL=out.js.map
83
+ //# sourceMappingURL=chunk-AOEXKPIX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts"],"names":["customMethods","editorHtmlElement","editor"],"mappings":";;;;;;;;AAAA,OAAO,WAAW;AAElB,SAAS,mBAAmB;AAMrB,SAAS,8BACd,QACA,KACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AACJ,YAAM,SAAS;AAAA,QACb,YACUA,gBACAC,oBACR;AAFQ,+BAAAD;AACA,mCAAAC;AAAA,QACP;AAAA,QAIH,IAAI,QAAa,SAAsB;AACrC,cAAI,KAAK,qBAAqB,OAAO,GAAG;AACtC,kBAAM,QAAQ,KAAK,cAAc;AACjC,gBAAI,OAAO,UAAU,YAAY;AAC/B,qBAAO,MAAM,KAAK,KAAK,aAAa;AAAA,YACtC;AACA,mBAAO;AAAA,UACT,WAAW,KAAK,mBAAmB,OAAO,GAAG;AAC3C,kBAAM,QAAQ,KAAK,kBAAkB;AACrC,gBAAI,OAAO,UAAU,YAAY;AAC/B,qBAAO,MAAM,KAAK,KAAK,iBAAiB;AAAA,YAC1C;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QAEA,IAAI,QAAa,SAAiB,OAAqB;AACrD,cAAI,KAAK,qBAAqB,OAAO,GAAG;AACtC,YAAC,KAAK,cAAsB,WAAW;AAAA,UACzC,WAAW,KAAK,mBAAmB,OAAO,GAAG;AAC3C,YAAC,KAAK,kBAA0B,WAAW;AAAA,UAC7C,OAAO;AAEL,mBAAO,WAAW;AAAA,UACpB;AACA,iBAAO;AAAA,QACT;AAAA,QAEQ,qBAAqB,KAAyC;AACpE,iBAAO,OAAO,KAAK;AAAA,QACrB;AAAA,QAEQ,mBAAmB,KAAuC;AAChE,iBAAO,OAAO,KAAK;AAAA,QACrB;AAAA,MACF;AAEA,YAAM,UAAU;AAAA,QACd,IAAI,QAAa,SAAkD;AACjE,iBAAO,OAAO,IAAI,QAAQ,OAAO;AAAA,QACnC;AAAA,QACA,IACE,QACA,SACA,OACA;AACA,iBAAO,OAAO,IAAI,QAAQ,SAAS,KAAK;AAAA,QAC1C;AAAA,MACF;AAEA,YAAM,cAAc;AAAA,QAClB,YAAoBC,SAAsB;AAAtB,wBAAAA;AAAA,QAAuB;AAAA,QAE3C,QAAQ;AACN,sBAAY,MAAM,KAAK,MAAM;AAAA,QAC/B;AAAA,QAEA,OAAO;AACL,sBAAY,KAAK,KAAK,MAAM;AAAA,QAC9B;AAAA,QAEA,IAAI,QAAQ;AACV,iBAAO,8BAA8B,KAAK,MAAM;AAAA,QAClD;AAAA,QACA,IAAI,MAAM,OAAe;AACvB,4BAAkB,KAAK,QAAQ,KAAK;AAAA,QACtC;AAAA,MACF;AAEA,YAAM,oBAAoB,YAAY,UAAU,QAAQ,MAAM;AAC9D,YAAM,gBAAgB,IAAI,cAAc,MAAM;AAE9C,YAAM,WAAW,IAAI,SAAS,eAAe,iBAAiB;AAC9D,aAAO,IAAI,MAAM,UAAU,OAAO;AAAA,IACpC;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF","sourcesContent":["import React from \"react\";\nimport { Editor } from \"slate\";\nimport { ReactEditor } from \"slate-react\";\nimport { getFullEditorTextWithNewlines } from \"../../lib/get-text-around-cursor\";\nimport { replaceEditorText } from \"../../lib/slatejs-edits/replace-text\";\nimport { HTMLCopilotTextAreaElement } from \"../../types\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function usePopulateCopilotTextareaRef(\n editor: Editor,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n) {\n React.useImperativeHandle(\n ref,\n () => {\n class Combined {\n constructor(\n private customMethods: CustomMethods,\n private editorHtmlElement: HTMLElement\n ) {}\n\n [key: string]: any;\n\n get(target: any, propKey: string): any {\n if (this.isKeyOfCustomMethods(propKey)) {\n const value = this.customMethods[propKey];\n if (typeof value === \"function\") {\n return value.bind(this.customMethods);\n }\n return value;\n } else if (this.isKeyOfHTMLElement(propKey)) {\n const value = this.editorHtmlElement[propKey];\n if (typeof value === \"function\") {\n return value.bind(this.editorHtmlElement);\n }\n return value;\n }\n }\n\n set(target: any, propKey: string, value: any): boolean {\n if (this.isKeyOfCustomMethods(propKey)) {\n (this.customMethods as any)[propKey] = value;\n } else if (this.isKeyOfHTMLElement(propKey)) {\n (this.editorHtmlElement as any)[propKey] = value;\n } else {\n // Default behavior (optional)\n target[propKey] = value;\n }\n return true;\n }\n\n private isKeyOfCustomMethods(key: string): key is keyof CustomMethods {\n return key in this.customMethods;\n }\n\n private isKeyOfHTMLElement(key: string): key is keyof HTMLElement {\n return key in this.editorHtmlElement;\n }\n }\n\n const handler = {\n get(target: any, propKey: keyof CustomMethods | keyof HTMLElement) {\n return target.get(target, propKey);\n },\n set(\n target: any,\n propKey: keyof CustomMethods | keyof HTMLElement,\n value: any\n ) {\n return target.set(target, propKey, value);\n },\n };\n\n class CustomMethods {\n constructor(private editor: CustomEditor) {}\n\n focus() {\n ReactEditor.focus(this.editor);\n }\n\n blur() {\n ReactEditor.blur(this.editor);\n }\n\n get value() {\n return getFullEditorTextWithNewlines(this.editor);\n }\n set value(value: string) {\n replaceEditorText(this.editor, value);\n }\n }\n\n const editorHtmlElement = ReactEditor.toDOMNode(editor, editor);\n const customMethods = new CustomMethods(editor);\n\n const combined = new Combined(customMethods, editorHtmlElement);\n return new Proxy(combined, handler);\n },\n [editor]\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { withPartialHistory, defaultShouldSave } from './chunk-KCHYD3EB.mjs';
2
+ import { useMemo } from 'react';
2
3
  import { createEditor, Element } from 'slate';
3
4
  import { withReact } from 'slate-react';
4
- import { useMemo } from 'react';
5
5
 
6
6
  var shouldSave = (op, prev) => {
7
7
  const excludedNodeType = "suggestion";
@@ -62,4 +62,4 @@ function useCopilotTextareaEditor() {
62
62
 
63
63
  export { useCopilotTextareaEditor };
64
64
  //# sourceMappingURL=out.js.map
65
- //# sourceMappingURL=chunk-6SYD77G6.mjs.map
65
+ //# sourceMappingURL=chunk-CSGFJU3L.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx"],"names":["editor"],"mappings":";;;;;;AAAA,SAAS,eAAe;AACxB,SAAS,cAAc,eAAe;AACtC,SAAS,iBAAiB;AAQ1B,IAAM,aAAkC,CAAC,IAAI,SAAS;AACpD,QAAM,mBAAmB;AAEzB,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,cACZ,UAAU,GAAG,iBACb,GAAG,cAAc,SAAS,kBAC1B;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,QAAQ,cACX,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAGA,SAAO,kBAAkB,IAAI,IAAI;AACnC;AAEO,SAAS,2BAAyC;AACvD,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAMA,UAAS,mBAAmB,UAAU,aAAa,CAAC,GAAG,UAAU;AAEvE,UAAM,EAAE,OAAO,IAAIA;AACnB,IAAAA,QAAO,SAAS,CAAC,YAAY;AAC3B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,OAAO,OAAO;AAAA,MACzB;AAAA,IACF;AAEA,UAAM,EAAE,aAAa,IAAIA;AACzB,IAAAA,QAAO,eAAe,CAAC,YAAY;AACjC,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,aAAa,OAAO;AAAA,MAC/B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAIA;AACrB,IAAAA,QAAO,WAAW,CAAC,YAAY;AAC7B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO,QAAQ;AAAA,QACjB;AACE,iBAAO,SAAS,OAAO;AAAA,MAC3B;AAAA,IACF;AAEA,WAAOA;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,SAAO;AACT","sourcesContent":["import { useMemo } from \"react\";\nimport { createEditor, Element } from \"slate\";\nimport { withReact } from \"slate-react\";\nimport {\n defaultShouldSave,\n ShouldSaveToHistory,\n withPartialHistory,\n} from \"../../lib/slatejs-edits/with-partial-history\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nconst shouldSave: ShouldSaveToHistory = (op, prev) => {\n const excludedNodeType = \"suggestion\";\n // Check if the operation involves the suggestion inline node type\n if (\n op.type === \"insert_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"remove_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"set_node\" &&\n \"type\" in op.newProperties &&\n op.newProperties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type == \"set_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"merge_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"split_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n // Otherwise, save the operation to history\n return defaultShouldSave(op, prev);\n};\n\nexport function useCopilotTextareaEditor(): CustomEditor {\n const editor = useMemo(() => {\n const editor = withPartialHistory(withReact(createEditor()), shouldSave);\n\n const { isVoid } = editor;\n editor.isVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return isVoid(element);\n }\n };\n\n const { markableVoid } = editor;\n editor.markableVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return markableVoid(element);\n }\n };\n\n const { isInline } = editor;\n editor.isInline = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return element.inline;\n default:\n return isInline(element);\n }\n };\n\n return editor;\n }, []);\n\n return editor;\n}\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=chunk-DE5K76I2.mjs.map
@@ -93,4 +93,4 @@ function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestio
93
93
 
94
94
  export { useAutosuggestions };
95
95
  //# sourceMappingURL=out.js.map
96
- //# sourceMappingURL=chunk-E2UEE45I.mjs.map
96
+ //# sourceMappingURL=chunk-HZGSG7ST.mjs.map