@copilotkit/react-textarea 1.1.3-feat-runtime-remote-actions.2 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/CHANGELOG.md +21 -19
  2. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.mts +43 -0
  3. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +1 -1
  4. package/dist/components/base-copilot-textarea/base-copilot-textarea.js +49 -114
  5. package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +1 -1
  6. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +1687 -36
  7. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -1
  8. package/dist/components/base-copilot-textarea/render-element.d.mts +6 -0
  9. package/dist/components/base-copilot-textarea/render-element.d.ts +1 -1
  10. package/dist/components/base-copilot-textarea/render-element.mjs +48 -4
  11. package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -1
  12. package/dist/components/base-copilot-textarea/render-placeholder.d.mts +6 -0
  13. package/dist/components/base-copilot-textarea/render-placeholder.d.ts +1 -1
  14. package/dist/components/base-copilot-textarea/render-placeholder.mjs +46 -4
  15. package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +1 -1
  16. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.mts +8 -0
  17. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js +2 -4
  18. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js.map +1 -1
  19. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +81 -5
  20. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +1 -1
  21. package/dist/components/base-copilot-textarea/use-add-branding-css.d.mts +3 -0
  22. package/dist/components/base-copilot-textarea/use-add-branding-css.js.map +1 -1
  23. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +54 -4
  24. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -1
  25. package/dist/components/copilot-textarea/copilot-textarea.d.mts +165 -0
  26. package/dist/components/copilot-textarea/copilot-textarea.d.ts +2 -8
  27. package/dist/components/copilot-textarea/copilot-textarea.js +55 -119
  28. package/dist/components/copilot-textarea/copilot-textarea.js.map +1 -1
  29. package/dist/components/copilot-textarea/copilot-textarea.mjs +2211 -44
  30. package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -1
  31. package/dist/components/hovering-toolbar/hovering-editor-provider.d.mts +18 -0
  32. package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +1 -1
  33. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +13 -5
  34. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -1
  35. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.mts +17 -0
  36. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +1 -2
  37. package/dist/components/hovering-toolbar/hovering-toolbar-components.js +0 -21
  38. package/dist/components/hovering-toolbar/hovering-toolbar-components.js.map +1 -1
  39. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +111 -9
  40. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -1
  41. package/dist/components/hovering-toolbar/hovering-toolbar.d.mts +12 -0
  42. package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +1 -1
  43. package/dist/components/hovering-toolbar/hovering-toolbar.js +31 -94
  44. package/dist/components/hovering-toolbar/hovering-toolbar.js.map +1 -1
  45. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +808 -19
  46. package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -1
  47. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.mts +16 -0
  48. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +1 -1
  49. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js +21 -65
  50. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js.map +1 -1
  51. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +520 -14
  52. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -1
  53. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.mts +14 -0
  54. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +1 -1
  55. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js +24 -68
  56. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js.map +1 -1
  57. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +543 -15
  58. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +1 -1
  59. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.mts +4 -0
  60. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js +24 -68
  61. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js.map +1 -1
  62. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +543 -16
  63. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -1
  64. package/dist/components/index.d.mts +15 -0
  65. package/dist/components/index.js +55 -119
  66. package/dist/components/index.js.map +1 -1
  67. package/dist/components/index.mjs +2210 -46
  68. package/dist/components/index.mjs.map +1 -1
  69. package/dist/components/manual-ui/chip-with-icon.d.mts +10 -0
  70. package/dist/components/manual-ui/chip-with-icon.d.ts +1 -1
  71. package/dist/components/manual-ui/chip-with-icon.mjs +0 -2
  72. package/dist/components/manual-ui/chip-with-icon.mjs.map +1 -1
  73. package/dist/components/source-search-box/source-search-box.d.mts +16 -0
  74. package/dist/components/source-search-box/source-search-box.d.ts +1 -1
  75. package/dist/components/source-search-box/source-search-box.js +2 -4
  76. package/dist/components/source-search-box/source-search-box.js.map +1 -1
  77. package/dist/components/source-search-box/source-search-box.mjs +200 -8
  78. package/dist/components/source-search-box/source-search-box.mjs.map +1 -1
  79. package/dist/components/ui/button.d.mts +14 -0
  80. package/dist/components/ui/button.d.ts +1 -1
  81. package/dist/components/ui/button.mjs +76 -6
  82. package/dist/components/ui/button.mjs.map +1 -1
  83. package/dist/components/ui/command.d.mts +53 -0
  84. package/dist/components/ui/command.mjs +233 -14
  85. package/dist/components/ui/command.mjs.map +1 -1
  86. package/dist/components/ui/dialog.d.mts +19 -0
  87. package/dist/components/ui/dialog.mjs +135 -11
  88. package/dist/components/ui/dialog.mjs.map +1 -1
  89. package/dist/components/ui/label.d.mts +8 -0
  90. package/dist/components/ui/label.mjs +51 -5
  91. package/dist/components/ui/label.mjs.map +1 -1
  92. package/dist/context/index.d.mts +2 -0
  93. package/dist/context/index.d.ts +1 -1
  94. package/dist/context/index.mjs +0 -1
  95. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.mts +15 -0
  96. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +1 -1
  97. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js.map +1 -1
  98. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +152 -7
  99. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +1 -1
  100. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.mts +8 -0
  101. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +165 -5
  102. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -1
  103. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.mts +7 -0
  104. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js.map +1 -1
  105. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +141 -6
  106. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -1
  107. package/dist/hooks/index.d.mts +2 -0
  108. package/dist/hooks/index.d.ts +1 -1
  109. package/dist/hooks/index.mjs +0 -1
  110. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.mts +22 -0
  111. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js +2 -1
  112. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js.map +1 -1
  113. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +139 -4
  114. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +1 -1
  115. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.mts +23 -0
  116. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js +2 -2
  117. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js.map +1 -1
  118. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +220 -4
  119. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +1 -1
  120. package/dist/hooks/misc/use-autosize-textarea.d.mts +5 -0
  121. package/dist/hooks/misc/use-autosize-textarea.mjs +12 -4
  122. package/dist/hooks/misc/use-autosize-textarea.mjs.map +1 -1
  123. package/dist/index.css +1 -644
  124. package/dist/index.d.mts +15 -0
  125. package/dist/index.js +62 -119
  126. package/dist/index.js.map +1 -1
  127. package/dist/index.mjs +2217 -54
  128. package/dist/index.mjs.map +1 -1
  129. package/dist/lib/debouncer.d.mts +11 -0
  130. package/dist/lib/debouncer.d.ts +1 -1
  131. package/dist/lib/debouncer.js.map +1 -1
  132. package/dist/lib/debouncer.mjs +48 -4
  133. package/dist/lib/debouncer.mjs.map +1 -1
  134. package/dist/lib/editor-to-text.d.mts +7 -0
  135. package/dist/lib/editor-to-text.mjs +40 -4
  136. package/dist/lib/editor-to-text.mjs.map +1 -1
  137. package/dist/lib/get-text-around-cursor.d.mts +15 -0
  138. package/dist/lib/get-text-around-cursor.d.ts +1 -1
  139. package/dist/lib/get-text-around-cursor.mjs +96 -7
  140. package/dist/lib/get-text-around-cursor.mjs.map +1 -1
  141. package/dist/lib/retry.d.mts +3 -0
  142. package/dist/lib/retry.mjs +14 -4
  143. package/dist/lib/retry.mjs.map +1 -1
  144. package/dist/lib/slatejs-edits/add-autocompletions.d.mts +8 -0
  145. package/dist/lib/slatejs-edits/add-autocompletions.mjs +22 -4
  146. package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +1 -1
  147. package/dist/lib/slatejs-edits/clear-autocompletions.d.mts +8 -0
  148. package/dist/lib/slatejs-edits/clear-autocompletions.js.map +1 -1
  149. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +17 -4
  150. package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +1 -1
  151. package/dist/lib/slatejs-edits/replace-text.d.mts +5 -0
  152. package/dist/lib/slatejs-edits/replace-text.mjs +24 -4
  153. package/dist/lib/slatejs-edits/replace-text.mjs.map +1 -1
  154. package/dist/lib/slatejs-edits/with-partial-history.d.mts +8 -0
  155. package/dist/lib/slatejs-edits/with-partial-history.d.ts +1 -1
  156. package/dist/lib/slatejs-edits/with-partial-history.mjs +102 -5
  157. package/dist/lib/slatejs-edits/with-partial-history.mjs.map +1 -1
  158. package/dist/lib/stream-promise-flatten.d.mts +12 -0
  159. package/dist/lib/stream-promise-flatten.js.map +1 -1
  160. package/dist/lib/stream-promise-flatten.mjs +44 -4
  161. package/dist/lib/stream-promise-flatten.mjs.map +1 -1
  162. package/dist/lib/utils.d.mts +9 -0
  163. package/dist/lib/utils.mjs +58 -8
  164. package/dist/lib/utils.mjs.map +1 -1
  165. package/dist/lib/utils.test.d.mts +2 -0
  166. package/dist/lib/utils.test.d.ts +1 -1
  167. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.mts +23 -0
  168. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +1 -1
  169. package/dist/types/autosuggestions-config/autosuggestions-config.d.mts +20 -0
  170. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +1 -1
  171. package/dist/types/autosuggestions-config/autosuggestions-config.js.map +1 -1
  172. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +258 -9
  173. package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -1
  174. package/dist/types/autosuggestions-config/editing-api-config.d.mts +15 -0
  175. package/dist/types/autosuggestions-config/editing-api-config.d.ts +1 -1
  176. package/dist/types/autosuggestions-config/editing-api-config.js.map +1 -1
  177. package/dist/types/autosuggestions-config/editing-api-config.mjs +75 -6
  178. package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -1
  179. package/dist/types/autosuggestions-config/index.d.mts +10 -0
  180. package/dist/types/autosuggestions-config/index.js.map +1 -1
  181. package/dist/types/autosuggestions-config/index.mjs +258 -10
  182. package/dist/types/autosuggestions-config/index.mjs.map +1 -1
  183. package/dist/types/autosuggestions-config/insertions-api-config.d.mts +15 -0
  184. package/dist/types/autosuggestions-config/insertions-api-config.d.ts +1 -1
  185. package/dist/types/autosuggestions-config/insertions-api-config.js.map +1 -1
  186. package/dist/types/autosuggestions-config/insertions-api-config.mjs +68 -6
  187. package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -1
  188. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.mts +3 -0
  189. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +1 -1
  190. package/dist/types/autosuggestions-config/suggestions-api-config.d.mts +14 -0
  191. package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +1 -1
  192. package/dist/types/autosuggestions-config/suggestions-api-config.js.map +1 -1
  193. package/dist/types/autosuggestions-config/suggestions-api-config.mjs +56 -6
  194. package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +1 -1
  195. package/dist/types/base/autosuggestion-state.d.mts +8 -0
  196. package/dist/types/base/autosuggestion-state.d.ts +1 -1
  197. package/dist/types/base/autosuggestions-bare-function.d.mts +19 -0
  198. package/dist/types/base/autosuggestions-bare-function.d.ts +1 -1
  199. package/dist/types/base/base-autosuggestions-config.d.mts +83 -0
  200. package/dist/types/base/base-autosuggestions-config.d.ts +1 -1
  201. package/dist/types/base/base-autosuggestions-config.mjs +25 -4
  202. package/dist/types/base/base-autosuggestions-config.mjs.map +1 -1
  203. package/dist/types/base/base-copilot-textarea-props.d.mts +5 -0
  204. package/dist/types/base/custom-editor.d.mts +29 -0
  205. package/dist/types/base/custom-editor.d.ts +1 -1
  206. package/dist/types/base/editor-autocomplete-state.d.mts +10 -0
  207. package/dist/types/base/editor-autocomplete-state.d.ts +1 -1
  208. package/dist/types/base/editor-autocomplete-state.mjs +9 -5
  209. package/dist/types/base/editor-autocomplete-state.mjs.map +1 -1
  210. package/dist/types/base/index.d.mts +54 -0
  211. package/dist/types/base/index.d.ts +1 -1
  212. package/dist/types/base/index.mjs +25 -5
  213. package/dist/types/base/index.mjs.map +1 -1
  214. package/dist/types/html-copilot-textarea-element.d.mts +7 -0
  215. package/dist/types/html-copilot-textarea-element.d.ts +1 -1
  216. package/dist/types/html-copilot-textarea-element.mjs +0 -1
  217. package/dist/types/index.d.mts +13 -0
  218. package/dist/types/index.js.map +1 -1
  219. package/dist/types/index.mjs +258 -14
  220. package/dist/types/index.mjs.map +1 -1
  221. package/package.json +17 -11
  222. package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +0 -1
  223. package/src/components/copilot-textarea/copilot-textarea.tsx +1 -7
  224. package/src/components/hovering-toolbar/hovering-toolbar-components.tsx +0 -17
  225. package/src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx +4 -7
  226. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +2 -2
  227. package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +2 -3
  228. package/src/styles.css +9 -2
  229. package/tsup.config.ts +63 -15
  230. package/dist/chunk-224UKA7C.mjs +0 -38
  231. package/dist/chunk-224UKA7C.mjs.map +0 -1
  232. package/dist/chunk-23Q6A46J.mjs +0 -103
  233. package/dist/chunk-23Q6A46J.mjs.map +0 -1
  234. package/dist/chunk-2C7O2EVM.mjs +0 -27
  235. package/dist/chunk-2C7O2EVM.mjs.map +0 -1
  236. package/dist/chunk-2QDCE7PD.mjs +0 -32
  237. package/dist/chunk-2QDCE7PD.mjs.map +0 -1
  238. package/dist/chunk-2XDYLKPH.mjs +0 -181
  239. package/dist/chunk-2XDYLKPH.mjs.map +0 -1
  240. package/dist/chunk-3PQ7GSFE.mjs +0 -17
  241. package/dist/chunk-3PQ7GSFE.mjs.map +0 -1
  242. package/dist/chunk-4AMCUMC7.mjs +0 -124
  243. package/dist/chunk-4AMCUMC7.mjs.map +0 -1
  244. package/dist/chunk-4CVSOOJY.mjs +0 -30
  245. package/dist/chunk-4CVSOOJY.mjs.map +0 -1
  246. package/dist/chunk-4NHVQZ67.mjs +0 -108
  247. package/dist/chunk-4NHVQZ67.mjs.map +0 -1
  248. package/dist/chunk-4PDYALMP.mjs +0 -52
  249. package/dist/chunk-4PDYALMP.mjs.map +0 -1
  250. package/dist/chunk-5UNJXFUO.mjs +0 -29
  251. package/dist/chunk-5UNJXFUO.mjs.map +0 -1
  252. package/dist/chunk-7LSRNPNI.mjs +0 -59
  253. package/dist/chunk-7LSRNPNI.mjs.map +0 -1
  254. package/dist/chunk-AJ5OMEXM.mjs +0 -13
  255. package/dist/chunk-AJ5OMEXM.mjs.map +0 -1
  256. package/dist/chunk-CF5GISTC.mjs +0 -113
  257. package/dist/chunk-CF5GISTC.mjs.map +0 -1
  258. package/dist/chunk-D2SUDM2O.mjs +0 -99
  259. package/dist/chunk-D2SUDM2O.mjs.map +0 -1
  260. package/dist/chunk-D47EKHIF.mjs +0 -26
  261. package/dist/chunk-D47EKHIF.mjs.map +0 -1
  262. package/dist/chunk-DE5K76I2.mjs +0 -1
  263. package/dist/chunk-DE5K76I2.mjs.map +0 -1
  264. package/dist/chunk-DFTV4TST.mjs +0 -36
  265. package/dist/chunk-DFTV4TST.mjs.map +0 -1
  266. package/dist/chunk-DRV2FOHZ.mjs +0 -70
  267. package/dist/chunk-DRV2FOHZ.mjs.map +0 -1
  268. package/dist/chunk-ECR45NSD.mjs +0 -104
  269. package/dist/chunk-ECR45NSD.mjs.map +0 -1
  270. package/dist/chunk-EJGGLWWR.mjs +0 -82
  271. package/dist/chunk-EJGGLWWR.mjs.map +0 -1
  272. package/dist/chunk-GQN2HYFJ.mjs +0 -22
  273. package/dist/chunk-GQN2HYFJ.mjs.map +0 -1
  274. package/dist/chunk-H4VKQGVU.mjs +0 -1
  275. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  276. package/dist/chunk-HL7EF7KA.mjs +0 -32
  277. package/dist/chunk-HL7EF7KA.mjs.map +0 -1
  278. package/dist/chunk-I3SPIGAI.mjs +0 -31
  279. package/dist/chunk-I3SPIGAI.mjs.map +0 -1
  280. package/dist/chunk-I72DKFHD.mjs +0 -114
  281. package/dist/chunk-I72DKFHD.mjs.map +0 -1
  282. package/dist/chunk-IU3WTXLQ.mjs +0 -1
  283. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  284. package/dist/chunk-J62KUPFZ.mjs +0 -264
  285. package/dist/chunk-J62KUPFZ.mjs.map +0 -1
  286. package/dist/chunk-KMVGEY7Q.mjs +0 -51
  287. package/dist/chunk-KMVGEY7Q.mjs.map +0 -1
  288. package/dist/chunk-KNQIEOFP.mjs +0 -19
  289. package/dist/chunk-KNQIEOFP.mjs.map +0 -1
  290. package/dist/chunk-L7VVZH4Q.mjs +0 -1
  291. package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
  292. package/dist/chunk-LQ2OWQU7.mjs +0 -49
  293. package/dist/chunk-LQ2OWQU7.mjs.map +0 -1
  294. package/dist/chunk-LYB4B6MK.mjs +0 -19
  295. package/dist/chunk-LYB4B6MK.mjs.map +0 -1
  296. package/dist/chunk-MCNXIA4Q.mjs +0 -75
  297. package/dist/chunk-MCNXIA4Q.mjs.map +0 -1
  298. package/dist/chunk-MMVDU6DF.mjs +0 -1
  299. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  300. package/dist/chunk-MRXNTQOX.mjs +0 -59
  301. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  302. package/dist/chunk-OFPAO25A.mjs +0 -60
  303. package/dist/chunk-OFPAO25A.mjs.map +0 -1
  304. package/dist/chunk-QJNFNPWH.mjs +0 -85
  305. package/dist/chunk-QJNFNPWH.mjs.map +0 -1
  306. package/dist/chunk-RUV6NBIF.mjs +0 -1
  307. package/dist/chunk-RUV6NBIF.mjs.map +0 -1
  308. package/dist/chunk-SDHH6DI6.mjs +0 -63
  309. package/dist/chunk-SDHH6DI6.mjs.map +0 -1
  310. package/dist/chunk-T6MTDQZ7.mjs +0 -45
  311. package/dist/chunk-T6MTDQZ7.mjs.map +0 -1
  312. package/dist/chunk-UGEKMSRR.mjs +0 -225
  313. package/dist/chunk-UGEKMSRR.mjs.map +0 -1
  314. package/dist/chunk-VSVQZUPW.mjs +0 -124
  315. package/dist/chunk-VSVQZUPW.mjs.map +0 -1
  316. package/dist/chunk-WADHCMPK.mjs +0 -1
  317. package/dist/chunk-WADHCMPK.mjs.map +0 -1
  318. package/dist/chunk-WGWQRALG.mjs +0 -83
  319. package/dist/chunk-WGWQRALG.mjs.map +0 -1
  320. package/dist/chunk-WJHSY5T6.mjs +0 -1
  321. package/dist/chunk-WJHSY5T6.mjs.map +0 -1
  322. package/dist/chunk-XW3ICO4S.mjs +0 -25
  323. package/dist/chunk-XW3ICO4S.mjs.map +0 -1
  324. package/dist/chunk-YLFAIYRY.mjs +0 -50
  325. package/dist/chunk-YLFAIYRY.mjs.map +0 -1
  326. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
  327. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +0 -1
  328. package/dist/components/copilot-textarea/copilot-textarea.css +0 -9
  329. package/dist/components/copilot-textarea/copilot-textarea.css.map +0 -1
  330. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.d.ts +0 -16
  331. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js +0 -133
  332. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js.map +0 -1
  333. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +0 -12
  334. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +0 -1
  335. package/dist/components/index.css +0 -9
  336. package/dist/components/index.css.map +0 -1
  337. package/dist/index.css.map +0 -1
  338. package/src/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
  339. package/src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx +0 -55
@@ -8,7 +8,6 @@ import {
8
8
  TextMessage,
9
9
  convertGqlOutputToMessages,
10
10
  convertMessagesToGqlInput,
11
- filterAgentStateMessages,
12
11
  CopilotRequestType,
13
12
  } from "@copilotkit/runtime-client-gql";
14
13
  import { retry } from "../../lib/retry";
@@ -127,7 +126,7 @@ export function useMakeStandardInsertionOrEditingFunction(
127
126
  actions: [],
128
127
  url: window.location.href,
129
128
  },
130
- messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),
129
+ messages: convertMessagesToGqlInput(messages),
131
130
  metadata: {
132
131
  requestType: CopilotRequestType.TextareaCompletion,
133
132
  },
@@ -192,7 +191,7 @@ export function useMakeStandardInsertionOrEditingFunction(
192
191
  actions: [],
193
192
  url: window.location.href,
194
193
  },
195
- messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),
194
+ messages: convertMessagesToGqlInput(messages),
196
195
  metadata: {
197
196
  requestType: CopilotRequestType.TextareaCompletion,
198
197
  },
package/src/styles.css CHANGED
@@ -1,3 +1,10 @@
1
- @import url("material-icons/iconfont/material-icons.css");
2
-
3
1
  @tailwind utilities;
2
+
3
+ .copilot-textarea.with-branding::after {
4
+ content: ''; /* Initially empty because we overrdie this CSS dynamically and we want to avoid flashing */
5
+ position: absolute;
6
+ }
7
+
8
+ .copilot-textarea.no-branding::after {
9
+ content: '';
10
+ }
package/tsup.config.ts CHANGED
@@ -1,16 +1,64 @@
1
- import { defineConfig, Options } from "tsup";
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { defineConfig, Options } from "tsup-async-inject-style";
4
+ import postcss from "postcss";
5
+ import autoprefixer from "autoprefixer";
6
+ import tailwindcss from "tailwindcss";
7
+ import cssnano from "cssnano";
8
+ import postcssPrefixSelector from "postcss-prefix-selector";
9
+ import postcssImport from "postcss-import";
10
+ import postcssNested from "postcss-nested";
2
11
 
3
- export default defineConfig((options: Options) => ({
4
- entry: ["src/**/*.{ts,tsx}"],
5
- format: ["esm", "cjs"],
6
- dts: true,
7
- minify: false,
8
- external: ["react"],
9
- sourcemap: true,
10
- exclude: [
11
- "**/*.test.ts", // Exclude TypeScript test files
12
- "**/*.test.tsx", // Exclude TypeScript React test files
13
- "**/__tests__/*", // Exclude any files inside a __tests__ directory
14
- ],
15
- ...options,
16
- }));
12
+ export default defineConfig((options: Options) => {
13
+ return {
14
+ entry: ["src/**/*.ts", "src/**/*.tsx"],
15
+ format: ["esm", "cjs"],
16
+ dts: true,
17
+ minify: false,
18
+ external: ["react"],
19
+ splitting: false,
20
+ clean: true,
21
+ sourcemap: true,
22
+ exclude: [
23
+ "**/*.test.ts", // Exclude TypeScript test files
24
+ "**/*.test.tsx", // Exclude TypeScript React test files
25
+ "**/__tests__/*", // Exclude any files inside a __tests__ directory
26
+ ],
27
+ onSuccess: async () => {
28
+ // Create index.css file for backwards compatibility
29
+ fs.writeFileSync(
30
+ path.resolve(process.cwd(), "dist/index.css"),
31
+ `/* This is here for backwards compatibility */`,
32
+ );
33
+ },
34
+ injectStyle: async (_, filePath) => {
35
+ const cwd = process.cwd();
36
+ const outputPath = path.resolve(cwd, "dist/index.css");
37
+ const rawCSS = fs.readFileSync(filePath, "utf8");
38
+
39
+ const resultCSS = await postcss([
40
+ postcssImport(),
41
+ postcssNested(),
42
+ postcssPrefixSelector({
43
+ prefix: ".copilot-kit-textarea-css-scope",
44
+ }),
45
+ tailwindcss,
46
+ autoprefixer,
47
+ cssnano({ preset: "default" }),
48
+ ]).process(rawCSS, { from: filePath, to: outputPath });
49
+
50
+ if (resultCSS.css === undefined) {
51
+ throw new Error("No CSS output");
52
+ }
53
+
54
+ return `
55
+ if (globalThis.hasOwnProperty("document")) {
56
+ const style = document?.createElement("style");
57
+ style.innerHTML = '${resultCSS}';
58
+ document?.head.appendChild(style);
59
+ }
60
+ `;
61
+ },
62
+ ...options,
63
+ };
64
+ });
@@ -1,38 +0,0 @@
1
- import {
2
- __spreadProps,
3
- __spreadValues
4
- } from "./chunk-MRXNTQOX.mjs";
5
-
6
- // src/components/base-copilot-textarea/render-element.tsx
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- function makeRenderElementFunction(suggestionsStyle) {
9
- return (props) => {
10
- switch (props.element.type) {
11
- case "paragraph":
12
- return /* @__PURE__ */ jsx(DefaultElement, __spreadValues({}, props));
13
- case "suggestion":
14
- return /* @__PURE__ */ jsx(SuggestionElement, __spreadProps(__spreadValues({}, props), { suggestionsStyle }));
15
- }
16
- };
17
- }
18
- var DefaultElement = (props) => {
19
- return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({}, props.attributes), { children: props.children }));
20
- };
21
- var SuggestionElement = (props) => {
22
- return /* @__PURE__ */ jsxs(
23
- "span",
24
- __spreadProps(__spreadValues({}, props.attributes), {
25
- style: __spreadValues({}, props.suggestionsStyle),
26
- contentEditable: false,
27
- children: [
28
- props.children,
29
- props.element.type === "suggestion" && props.element.content
30
- ]
31
- })
32
- );
33
- };
34
-
35
- export {
36
- makeRenderElementFunction
37
- };
38
- //# sourceMappingURL=chunk-224UKA7C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/base-copilot-textarea/render-element.tsx"],"sourcesContent":["import { RenderElementProps } from \"slate-react\";\n\nexport type RenderElementFunction = (props: RenderElementProps) => JSX.Element;\n\nexport function makeRenderElementFunction(\n suggestionsStyle: React.CSSProperties,\n): RenderElementFunction {\n return (props: RenderElementProps) => {\n switch (props.element.type) {\n case \"paragraph\":\n return <DefaultElement {...props} />;\n case \"suggestion\":\n return <SuggestionElement {...props} suggestionsStyle={suggestionsStyle} />;\n }\n };\n}\n\nconst DefaultElement = (props: RenderElementProps) => {\n return <div {...props.attributes}>{props.children}</div>;\n};\nconst SuggestionElement = (\n props: RenderElementProps & {\n suggestionsStyle: React.CSSProperties;\n },\n) => {\n return (\n <span\n {...props.attributes}\n style={{\n ...props.suggestionsStyle,\n }}\n contentEditable={false}\n >\n {props.children /* https://github.com/ianstormtaylor/slate/issues/3930 */}\n {props.element.type === \"suggestion\" && props.element.content}\n </span>\n );\n};\n"],"mappings":";;;;;;AAUe,cAgBX,YAhBW;AANR,SAAS,0BACd,kBACuB;AACvB,SAAO,CAAC,UAA8B;AACpC,YAAQ,MAAM,QAAQ,MAAM;AAAA,MAC1B,KAAK;AACH,eAAO,oBAAC,mCAAmB,MAAO;AAAA,MACpC,KAAK;AACH,eAAO,oBAAC,oDAAsB,QAAtB,EAA6B,mBAAoC;AAAA,IAC7E;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAA8B;AACpD,SAAO,oBAAC,wCAAQ,MAAM,aAAd,EAA2B,gBAAM,WAAS;AACpD;AACA,IAAM,oBAAoB,CACxB,UAGG;AACH,SACE;AAAA,IAAC;AAAA,qCACK,MAAM,aADX;AAAA,MAEC,OAAO,mBACF,MAAM;AAAA,MAEX,iBAAiB;AAAA,MAEhB;AAAA,cAAM;AAAA,QACN,MAAM,QAAQ,SAAS,gBAAgB,MAAM,QAAQ;AAAA;AAAA;AAAA,EACxD;AAEJ;","names":[]}
@@ -1,103 +0,0 @@
1
- import {
2
- areEqual_autocompleteState
3
- } from "./chunk-AJ5OMEXM.mjs";
4
- import {
5
- nullableCompatibleEqualityCheck
6
- } from "./chunk-YLFAIYRY.mjs";
7
- import {
8
- Debouncer
9
- } from "./chunk-DFTV4TST.mjs";
10
- import {
11
- __async
12
- } from "./chunk-MRXNTQOX.mjs";
13
-
14
- // src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts
15
- import { useCallback, useEffect, useMemo, useState } from "react";
16
- function useAutosuggestions(debounceTime, shouldAcceptAutosuggestionOnKeyPress, shouldAcceptAutosuggestionOnTouch, autosuggestionFunction, insertAutocompleteSuggestion, disableWhenEmpty, disabled) {
17
- const [previousAutocompleteState, setPreviousAutocompleteState] = useState(null);
18
- const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] = useState(null);
19
- const awaitForAndAppendSuggestion = useCallback(
20
- (editorAutocompleteState, abortSignal) => __async(this, null, function* () {
21
- if (disabled) {
22
- return;
23
- }
24
- if (disableWhenEmpty && editorAutocompleteState.textBeforeCursor === "" && editorAutocompleteState.textAfterCursor === "") {
25
- return;
26
- }
27
- const suggestion = yield autosuggestionFunction(editorAutocompleteState, abortSignal);
28
- if (!suggestion || abortSignal.aborted) {
29
- throw new DOMException("Aborted", "AbortError");
30
- }
31
- setCurrentAutocompleteSuggestion({
32
- text: suggestion,
33
- point: editorAutocompleteState.cursorPoint
34
- });
35
- }),
36
- [autosuggestionFunction, setCurrentAutocompleteSuggestion, disableWhenEmpty, disabled]
37
- );
38
- const debouncedFunction = useMemo(
39
- () => new Debouncer(debounceTime),
40
- [debounceTime]
41
- );
42
- useEffect(() => {
43
- return () => {
44
- debouncedFunction.cancel();
45
- setCurrentAutocompleteSuggestion(null);
46
- };
47
- }, [debouncedFunction, disabled]);
48
- const onChange = useCallback(
49
- (newEditorState) => {
50
- const editorStateHasChanged = !nullableCompatibleEqualityCheck(
51
- areEqual_autocompleteState,
52
- previousAutocompleteState,
53
- newEditorState
54
- );
55
- setPreviousAutocompleteState(newEditorState);
56
- if (!editorStateHasChanged) {
57
- return;
58
- }
59
- setCurrentAutocompleteSuggestion(null);
60
- if (newEditorState) {
61
- debouncedFunction.debounce(awaitForAndAppendSuggestion, newEditorState);
62
- } else {
63
- debouncedFunction.cancel();
64
- }
65
- },
66
- [
67
- previousAutocompleteState,
68
- setPreviousAutocompleteState,
69
- debouncedFunction,
70
- awaitForAndAppendSuggestion,
71
- setCurrentAutocompleteSuggestion
72
- ]
73
- );
74
- const keyDownOrTouchHandler = useCallback(
75
- (event) => {
76
- if (currentAutocompleteSuggestion) {
77
- const shouldAcceptSuggestion = event.type === "touchstart" ? shouldAcceptAutosuggestionOnTouch(event) : shouldAcceptAutosuggestionOnKeyPress(event);
78
- if (shouldAcceptSuggestion) {
79
- event.preventDefault();
80
- insertAutocompleteSuggestion(currentAutocompleteSuggestion);
81
- setCurrentAutocompleteSuggestion(null);
82
- }
83
- }
84
- },
85
- [
86
- currentAutocompleteSuggestion,
87
- setCurrentAutocompleteSuggestion,
88
- insertAutocompleteSuggestion,
89
- shouldAcceptAutosuggestionOnKeyPress
90
- ]
91
- );
92
- return {
93
- currentAutocompleteSuggestion,
94
- onChangeHandler: onChange,
95
- onKeyDownHandler: keyDownOrTouchHandler,
96
- onTouchStartHandler: keyDownOrTouchHandler
97
- };
98
- }
99
-
100
- export {
101
- useAutosuggestions
102
- };
103
- //# sourceMappingURL=chunk-23Q6A46J.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Debouncer } from \"../../lib/debouncer\";\nimport { nullableCompatibleEqualityCheck } from \"../../lib/utils\";\nimport { AutosuggestionsBareFunction } from \"../../types/base\";\nimport { AutosuggestionState } from \"../../types/base/autosuggestion-state\";\nimport {\n EditorAutocompleteState,\n areEqual_autocompleteState,\n} from \"../../types/base/editor-autocomplete-state\";\n\nexport interface UseAutosuggestionsResult {\n currentAutocompleteSuggestion: AutosuggestionState | null;\n onChangeHandler: (newEditorState: EditorAutocompleteState | null) => void;\n onKeyDownHandler: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n onTouchStartHandler: (event: React.TouchEvent<HTMLDivElement>) => void;\n}\n\nexport function useAutosuggestions(\n debounceTime: number,\n shouldAcceptAutosuggestionOnKeyPress: (event: React.KeyboardEvent<HTMLDivElement>) => boolean,\n shouldAcceptAutosuggestionOnTouch: (event: React.TouchEvent<HTMLDivElement>) => boolean,\n autosuggestionFunction: AutosuggestionsBareFunction,\n insertAutocompleteSuggestion: (suggestion: AutosuggestionState) => void,\n disableWhenEmpty: boolean,\n disabled: boolean,\n): UseAutosuggestionsResult {\n const [previousAutocompleteState, setPreviousAutocompleteState] =\n useState<EditorAutocompleteState | null>(null);\n\n const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] =\n useState<AutosuggestionState | null>(null);\n\n const awaitForAndAppendSuggestion: (\n editorAutocompleteState: EditorAutocompleteState,\n abortSignal: AbortSignal,\n ) => Promise<void> = useCallback(\n async (editorAutocompleteState: EditorAutocompleteState, abortSignal: AbortSignal) => {\n // early return if disabled\n if (disabled) {\n return;\n }\n\n if (\n disableWhenEmpty &&\n editorAutocompleteState.textBeforeCursor === \"\" &&\n editorAutocompleteState.textAfterCursor === \"\"\n ) {\n return;\n }\n\n // fetch the suggestion\n const suggestion = await autosuggestionFunction(editorAutocompleteState, abortSignal);\n\n // We'll assume for now that the autocomplete function might or might not respect the abort signal.\n if (!suggestion || abortSignal.aborted) {\n throw new DOMException(\"Aborted\", \"AbortError\");\n }\n\n setCurrentAutocompleteSuggestion({\n text: suggestion,\n point: editorAutocompleteState.cursorPoint,\n });\n },\n [autosuggestionFunction, setCurrentAutocompleteSuggestion, disableWhenEmpty, disabled],\n );\n\n const debouncedFunction = useMemo(\n () => new Debouncer<[editorAutocompleteState: EditorAutocompleteState]>(debounceTime),\n [debounceTime],\n );\n\n // clean current state when unmounting or disabling\n useEffect(() => {\n return () => {\n debouncedFunction.cancel();\n setCurrentAutocompleteSuggestion(null);\n };\n }, [debouncedFunction, disabled]);\n\n const onChange = useCallback(\n (newEditorState: EditorAutocompleteState | null) => {\n const editorStateHasChanged = !nullableCompatibleEqualityCheck(\n areEqual_autocompleteState,\n previousAutocompleteState,\n newEditorState,\n );\n setPreviousAutocompleteState(newEditorState);\n\n // if no change, do nothing\n if (!editorStateHasChanged) {\n return;\n }\n\n // if change, then first null out the current suggestion\n setCurrentAutocompleteSuggestion(null);\n\n // then try to get a new suggestion, debouncing to avoid too many requests while typing\n if (newEditorState) {\n debouncedFunction.debounce(awaitForAndAppendSuggestion, newEditorState);\n } else {\n debouncedFunction.cancel();\n }\n },\n [\n previousAutocompleteState,\n setPreviousAutocompleteState,\n debouncedFunction,\n awaitForAndAppendSuggestion,\n setCurrentAutocompleteSuggestion,\n ],\n );\n\n const keyDownOrTouchHandler = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>) => {\n if (currentAutocompleteSuggestion) {\n const shouldAcceptSuggestion =\n event.type === \"touchstart\"\n ? shouldAcceptAutosuggestionOnTouch(event as React.TouchEvent<HTMLDivElement>)\n : shouldAcceptAutosuggestionOnKeyPress(event as React.KeyboardEvent<HTMLDivElement>);\n\n if (shouldAcceptSuggestion) {\n event.preventDefault();\n insertAutocompleteSuggestion(currentAutocompleteSuggestion);\n setCurrentAutocompleteSuggestion(null);\n }\n }\n },\n [\n currentAutocompleteSuggestion,\n setCurrentAutocompleteSuggestion,\n insertAutocompleteSuggestion,\n shouldAcceptAutosuggestionOnKeyPress,\n ],\n );\n\n return {\n currentAutocompleteSuggestion,\n onChangeHandler: onChange,\n onKeyDownHandler: keyDownOrTouchHandler,\n onTouchStartHandler: keyDownOrTouchHandler,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAiBnD,SAAS,mBACd,cACA,sCACA,mCACA,wBACA,8BACA,kBACA,UAC0B;AAC1B,QAAM,CAAC,2BAA2B,4BAA4B,IAC5D,SAAyC,IAAI;AAE/C,QAAM,CAAC,+BAA+B,gCAAgC,IACpE,SAAqC,IAAI;AAE3C,QAAM,8BAGe;AAAA,IACnB,CAAO,yBAAkD,gBAA6B;AAEpF,UAAI,UAAU;AACZ;AAAA,MACF;AAEA,UACE,oBACA,wBAAwB,qBAAqB,MAC7C,wBAAwB,oBAAoB,IAC5C;AACA;AAAA,MACF;AAGA,YAAM,aAAa,MAAM,uBAAuB,yBAAyB,WAAW;AAGpF,UAAI,CAAC,cAAc,YAAY,SAAS;AACtC,cAAM,IAAI,aAAa,WAAW,YAAY;AAAA,MAChD;AAEA,uCAAiC;AAAA,QAC/B,MAAM;AAAA,QACN,OAAO,wBAAwB;AAAA,MACjC,CAAC;AAAA,IACH;AAAA,IACA,CAAC,wBAAwB,kCAAkC,kBAAkB,QAAQ;AAAA,EACvF;AAEA,QAAM,oBAAoB;AAAA,IACxB,MAAM,IAAI,UAA8D,YAAY;AAAA,IACpF,CAAC,YAAY;AAAA,EACf;AAGA,YAAU,MAAM;AACd,WAAO,MAAM;AACX,wBAAkB,OAAO;AACzB,uCAAiC,IAAI;AAAA,IACvC;AAAA,EACF,GAAG,CAAC,mBAAmB,QAAQ,CAAC;AAEhC,QAAM,WAAW;AAAA,IACf,CAAC,mBAAmD;AAClD,YAAM,wBAAwB,CAAC;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,mCAA6B,cAAc;AAG3C,UAAI,CAAC,uBAAuB;AAC1B;AAAA,MACF;AAGA,uCAAiC,IAAI;AAGrC,UAAI,gBAAgB;AAClB,0BAAkB,SAAS,6BAA6B,cAAc;AAAA,MACxE,OAAO;AACL,0BAAkB,OAAO;AAAA,MAC3B;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,wBAAwB;AAAA,IAC5B,CAAC,UAAkF;AACjF,UAAI,+BAA+B;AACjC,cAAM,yBACJ,MAAM,SAAS,eACX,kCAAkC,KAAyC,IAC3E,qCAAqC,KAA4C;AAEvF,YAAI,wBAAwB;AAC1B,gBAAM,eAAe;AACrB,uCAA6B,6BAA6B;AAC1D,2CAAiC,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,EACvB;AACF;","names":[]}
@@ -1,27 +0,0 @@
1
- // src/lib/slatejs-edits/add-autocompletions.ts
2
- import { Transforms } from "slate";
3
- function addAutocompletionsToEditor(editor, newSuggestion, point) {
4
- const editorPosition = editor.selection;
5
- Transforms.insertNodes(
6
- editor,
7
- [
8
- {
9
- type: "suggestion",
10
- inline: true,
11
- content: newSuggestion,
12
- children: [{ text: "" }]
13
- }
14
- ],
15
- {
16
- at: point
17
- }
18
- );
19
- if (editorPosition) {
20
- editor.selection = editorPosition;
21
- }
22
- }
23
-
24
- export {
25
- addAutocompletionsToEditor
26
- };
27
- //# sourceMappingURL=chunk-2C7O2EVM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/slatejs-edits/add-autocompletions.ts"],"sourcesContent":["import { BasePoint, Transforms } from \"slate\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function addAutocompletionsToEditor(\n editor: CustomEditor,\n newSuggestion: string,\n point: BasePoint,\n) {\n const editorPosition = editor.selection;\n\n Transforms.insertNodes(\n editor,\n [\n {\n type: \"suggestion\",\n inline: true,\n content: newSuggestion,\n children: [{ text: \"\" }],\n },\n ],\n {\n at: point,\n },\n );\n\n // restore cursor position\n if (editorPosition) {\n editor.selection = editorPosition;\n }\n}\n"],"mappings":";AAAA,SAAoB,kBAAkB;AAG/B,SAAS,2BACd,QACA,eACA,OACA;AACA,QAAM,iBAAiB,OAAO;AAE9B,aAAW;AAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,IACN;AAAA,EACF;AAGA,MAAI,gBAAgB;AAClB,WAAO,YAAY;AAAA,EACrB;AACF;","names":[]}
@@ -1,32 +0,0 @@
1
- import {
2
- __async
3
- } from "./chunk-MRXNTQOX.mjs";
4
-
5
- // src/lib/stream-promise-flatten.ts
6
- function streamPromiseFlatten(promise) {
7
- return new ReadableStream({
8
- start(controller) {
9
- return __async(this, null, function* () {
10
- try {
11
- const stream = yield promise;
12
- const reader = stream.getReader();
13
- while (true) {
14
- const { done, value } = yield reader.read();
15
- if (done) {
16
- controller.close();
17
- return;
18
- }
19
- controller.enqueue(value);
20
- }
21
- } catch (error) {
22
- controller.error(error);
23
- }
24
- });
25
- }
26
- });
27
- }
28
-
29
- export {
30
- streamPromiseFlatten
31
- };
32
- //# sourceMappingURL=chunk-2QDCE7PD.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/stream-promise-flatten.ts"],"sourcesContent":["/**\n * Flatten a promise of a stream, into a stream.\n *\n * Useful because a stream already includes the notion of async value delivery,\n * so it often makes sense to simply await the values rather than the generator of the values.\n *\n * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.\n * @returns {ReadableStream<A>} - The flattened stream.\n */\n\nexport function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): ReadableStream<A> {\n return new ReadableStream<A>({\n async start(controller) {\n try {\n const stream = await promise;\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n return;\n }\n\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n });\n}\n"],"mappings":";;;;;AAUO,SAAS,qBAAwB,SAAwD;AAC9F,SAAO,IAAI,eAAkB;AAAA,IACrB,MAAM,YAAY;AAAA;AACtB,YAAI;AACF,gBAAM,SAAS,MAAM;AACrB,gBAAM,SAAS,OAAO,UAAU;AAEhC,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,gBAAI,MAAM;AACR,yBAAW,MAAM;AACjB;AAAA,YACF;AAEA,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,QACF,SAAS,OAAP;AACA,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1,181 +0,0 @@
1
- import {
2
- retry
3
- } from "./chunk-KNQIEOFP.mjs";
4
- import {
5
- __async,
6
- __spreadValues
7
- } from "./chunk-MRXNTQOX.mjs";
8
-
9
- // src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx
10
- import { COPILOT_CLOUD_PUBLIC_API_KEY_HEADER } from "@copilotkit/shared";
11
- import { useCopilotContext } from "@copilotkit/react-core";
12
- import { useCallback } from "react";
13
- import {
14
- CopilotRuntimeClient,
15
- Role,
16
- TextMessage,
17
- convertGqlOutputToMessages,
18
- convertMessagesToGqlInput,
19
- filterAgentStateMessages,
20
- CopilotRequestType
21
- } from "@copilotkit/runtime-client-gql";
22
- function useMakeStandardInsertionOrEditingFunction(textareaPurpose, contextCategories, insertionApiConfig, editingApiConfig) {
23
- const { getContextString, copilotApiConfig } = useCopilotContext();
24
- const headers = __spreadValues({}, copilotApiConfig.publicApiKey ? { [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: copilotApiConfig.publicApiKey } : {});
25
- const runtimeClient = new CopilotRuntimeClient({
26
- url: copilotApiConfig.chatApiEndpoint,
27
- publicApiKey: copilotApiConfig.publicApiKey,
28
- headers,
29
- credentials: copilotApiConfig.credentials
30
- });
31
- function runtimeClientResponseToStringStream(responsePromise) {
32
- return __async(this, null, function* () {
33
- const messagesStream = yield CopilotRuntimeClient.asStream(responsePromise);
34
- return new ReadableStream({
35
- start(controller) {
36
- return __async(this, null, function* () {
37
- const reader = messagesStream.getReader();
38
- let sentContent = "";
39
- while (true) {
40
- const { done, value } = yield reader.read();
41
- if (done) {
42
- break;
43
- }
44
- const messages = convertGqlOutputToMessages(value.generateCopilotResponse.messages);
45
- let newContent = "";
46
- for (const message of messages) {
47
- if (message instanceof TextMessage) {
48
- newContent += message.content;
49
- }
50
- }
51
- if (newContent) {
52
- const contentToSend = newContent.slice(sentContent.length);
53
- controller.enqueue(contentToSend);
54
- sentContent += contentToSend;
55
- }
56
- }
57
- controller.close();
58
- });
59
- }
60
- });
61
- });
62
- }
63
- const insertionFunction = useCallback(
64
- (editorState, insertionPrompt, documents, abortSignal) => __async(this, null, function* () {
65
- const res = yield retry(() => __async(this, null, function* () {
66
- const messages = [
67
- new TextMessage({
68
- role: Role.System,
69
- content: insertionApiConfig.makeSystemPrompt(
70
- textareaPurpose,
71
- getContextString(documents, contextCategories)
72
- )
73
- }),
74
- ...insertionApiConfig.fewShotMessages,
75
- new TextMessage({
76
- role: Role.User,
77
- content: `<TextAfterCursor>${editorState.textAfterCursor}</TextAfterCursor>`
78
- }),
79
- new TextMessage({
80
- role: Role.User,
81
- content: `<TextBeforeCursor>${editorState.textBeforeCursor}</TextBeforeCursor>`
82
- }),
83
- new TextMessage({
84
- role: Role.User,
85
- content: `<InsertionPrompt>${insertionPrompt}</InsertionPrompt>`
86
- })
87
- ];
88
- return runtimeClientResponseToStringStream(
89
- runtimeClient.generateCopilotResponse({
90
- data: {
91
- frontend: {
92
- actions: [],
93
- url: window.location.href
94
- },
95
- messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),
96
- metadata: {
97
- requestType: CopilotRequestType.TextareaCompletion
98
- }
99
- },
100
- properties: copilotApiConfig.properties,
101
- signal: abortSignal
102
- })
103
- );
104
- }));
105
- return res;
106
- }),
107
- [insertionApiConfig, getContextString, contextCategories, textareaPurpose]
108
- );
109
- const editingFunction = useCallback(
110
- (editorState, editingPrompt, documents, abortSignal) => __async(this, null, function* () {
111
- const res = yield retry(() => __async(this, null, function* () {
112
- const messages = [
113
- new TextMessage({
114
- role: Role.System,
115
- content: editingApiConfig.makeSystemPrompt(
116
- textareaPurpose,
117
- getContextString(documents, contextCategories)
118
- )
119
- }),
120
- ...editingApiConfig.fewShotMessages,
121
- new TextMessage({
122
- role: Role.User,
123
- content: `<TextBeforeCursor>${editorState.textBeforeCursor}</TextBeforeCursor>`
124
- }),
125
- new TextMessage({
126
- role: Role.User,
127
- content: `<TextToEdit>${editorState.selectedText}</TextToEdit>`
128
- }),
129
- new TextMessage({
130
- role: Role.User,
131
- content: `<TextAfterCursor>${editorState.textAfterCursor}</TextAfterCursor>`
132
- }),
133
- new TextMessage({
134
- role: Role.User,
135
- content: `<EditingPrompt>${editingPrompt}</EditingPrompt>`
136
- })
137
- ];
138
- const runtimeClient2 = new CopilotRuntimeClient({
139
- url: copilotApiConfig.chatApiEndpoint,
140
- publicApiKey: copilotApiConfig.publicApiKey,
141
- headers,
142
- credentials: copilotApiConfig.credentials
143
- });
144
- return runtimeClientResponseToStringStream(
145
- runtimeClient2.generateCopilotResponse({
146
- data: {
147
- frontend: {
148
- actions: [],
149
- url: window.location.href
150
- },
151
- messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),
152
- metadata: {
153
- requestType: CopilotRequestType.TextareaCompletion
154
- }
155
- },
156
- properties: copilotApiConfig.properties,
157
- signal: abortSignal
158
- })
159
- );
160
- }));
161
- return res;
162
- }),
163
- [editingApiConfig, getContextString, contextCategories, textareaPurpose]
164
- );
165
- const insertionOrEditingFunction = useCallback(
166
- (editorState, insertionPrompt, documents, abortSignal) => __async(this, null, function* () {
167
- if (editorState.selectedText === "") {
168
- return yield insertionFunction(editorState, insertionPrompt, documents, abortSignal);
169
- } else {
170
- return yield editingFunction(editorState, insertionPrompt, documents, abortSignal);
171
- }
172
- }),
173
- [insertionFunction, editingFunction]
174
- );
175
- return insertionOrEditingFunction;
176
- }
177
-
178
- export {
179
- useMakeStandardInsertionOrEditingFunction
180
- };
181
- //# sourceMappingURL=chunk-2XDYLKPH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx"],"sourcesContent":["import { COPILOT_CLOUD_PUBLIC_API_KEY_HEADER } from \"@copilotkit/shared\";\nimport { useCopilotContext } from \"@copilotkit/react-core\";\nimport { useCallback } from \"react\";\nimport {\n CopilotRuntimeClient,\n Message,\n Role,\n TextMessage,\n convertGqlOutputToMessages,\n convertMessagesToGqlInput,\n filterAgentStateMessages,\n CopilotRequestType,\n} from \"@copilotkit/runtime-client-gql\";\nimport { retry } from \"../../lib/retry\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\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 } = useCopilotContext();\n const headers = {\n ...(copilotApiConfig.publicApiKey\n ? { [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: copilotApiConfig.publicApiKey }\n : {}),\n };\n\n const runtimeClient = new CopilotRuntimeClient({\n url: copilotApiConfig.chatApiEndpoint,\n publicApiKey: copilotApiConfig.publicApiKey,\n headers,\n credentials: copilotApiConfig.credentials,\n });\n\n async function runtimeClientResponseToStringStream(\n responsePromise: ReturnType<typeof runtimeClient.generateCopilotResponse>,\n ) {\n const messagesStream = await CopilotRuntimeClient.asStream(responsePromise);\n\n return new ReadableStream({\n async start(controller) {\n const reader = messagesStream.getReader();\n let sentContent = \"\";\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n\n const messages = convertGqlOutputToMessages(value.generateCopilotResponse.messages);\n\n let newContent = \"\";\n\n for (const message of messages) {\n if (message instanceof TextMessage) {\n newContent += message.content;\n }\n }\n if (newContent) {\n const contentToSend = newContent.slice(sentContent.length);\n controller.enqueue(contentToSend);\n sentContent += contentToSend;\n }\n }\n controller.close();\n },\n });\n }\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: Message[] = [\n new TextMessage({\n role: Role.System,\n content: insertionApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories),\n ),\n }),\n ...insertionApiConfig.fewShotMessages,\n new TextMessage({\n role: Role.User,\n content: `<TextAfterCursor>${editorState.textAfterCursor}</TextAfterCursor>`,\n }),\n new TextMessage({\n role: Role.User,\n content: `<TextBeforeCursor>${editorState.textBeforeCursor}</TextBeforeCursor>`,\n }),\n new TextMessage({\n role: Role.User,\n content: `<InsertionPrompt>${insertionPrompt}</InsertionPrompt>`,\n }),\n ];\n\n return runtimeClientResponseToStringStream(\n runtimeClient.generateCopilotResponse({\n data: {\n frontend: {\n actions: [],\n url: window.location.href,\n },\n messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),\n metadata: {\n requestType: CopilotRequestType.TextareaCompletion,\n },\n },\n properties: copilotApiConfig.properties,\n signal: abortSignal,\n }),\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: Message[] = [\n new TextMessage({\n role: Role.System,\n content: editingApiConfig.makeSystemPrompt(\n textareaPurpose,\n getContextString(documents, contextCategories),\n ),\n }),\n ...editingApiConfig.fewShotMessages,\n new TextMessage({\n role: Role.User,\n content: `<TextBeforeCursor>${editorState.textBeforeCursor}</TextBeforeCursor>`,\n }),\n new TextMessage({\n role: Role.User,\n content: `<TextToEdit>${editorState.selectedText}</TextToEdit>`,\n }),\n new TextMessage({\n role: Role.User,\n content: `<TextAfterCursor>${editorState.textAfterCursor}</TextAfterCursor>`,\n }),\n new TextMessage({\n role: Role.User,\n content: `<EditingPrompt>${editingPrompt}</EditingPrompt>`,\n }),\n ];\n\n const runtimeClient = new CopilotRuntimeClient({\n url: copilotApiConfig.chatApiEndpoint,\n publicApiKey: copilotApiConfig.publicApiKey,\n headers,\n credentials: copilotApiConfig.credentials,\n });\n\n return runtimeClientResponseToStringStream(\n runtimeClient.generateCopilotResponse({\n data: {\n frontend: {\n actions: [],\n url: window.location.href,\n },\n messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),\n metadata: {\n requestType: CopilotRequestType.TextareaCompletion,\n },\n },\n properties: copilotApiConfig.properties,\n signal: abortSignal,\n }),\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(editorState, insertionPrompt, documents, abortSignal);\n } else {\n return await editingFunction(editorState, insertionPrompt, documents, abortSignal);\n }\n },\n [insertionFunction, editingFunction],\n );\n\n return insertionOrEditingFunction;\n}\n"],"mappings":"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","names":["runtimeClient"]}
@@ -1,17 +0,0 @@
1
- // src/hooks/misc/use-autosize-textarea.tsx
2
- import { useEffect } from "react";
3
- var useAutosizeTextArea = (textAreaRef, value) => {
4
- useEffect(() => {
5
- if (textAreaRef.current !== null) {
6
- textAreaRef.current.style.height = "0px";
7
- const scrollHeight = textAreaRef.current.scrollHeight;
8
- textAreaRef.current.style.height = scrollHeight + "px";
9
- }
10
- }, [textAreaRef, value]);
11
- };
12
- var use_autosize_textarea_default = useAutosizeTextArea;
13
-
14
- export {
15
- use_autosize_textarea_default
16
- };
17
- //# sourceMappingURL=chunk-3PQ7GSFE.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/misc/use-autosize-textarea.tsx"],"sourcesContent":["import { Ref, RefObject, useEffect } from \"react\";\n\n// Updates the height of a <textarea> when the value changes.\nconst useAutosizeTextArea = (textAreaRef: RefObject<HTMLTextAreaElement>, value: string) => {\n useEffect(() => {\n if (textAreaRef.current !== null) {\n // We need to reset the height momentarily to get the correct scrollHeight for the textarea\n textAreaRef.current.style.height = \"0px\";\n const scrollHeight = textAreaRef.current.scrollHeight;\n\n // We then set the height directly, outside of the render loop\n // Trying to set this with state or a ref will product an incorrect value.\n textAreaRef.current.style.height = scrollHeight + \"px\";\n }\n }, [textAreaRef, value]);\n};\n\nexport default useAutosizeTextArea;\n"],"mappings":";AAAA,SAAyB,iBAAiB;AAG1C,IAAM,sBAAsB,CAAC,aAA6C,UAAkB;AAC1F,YAAU,MAAM;AACd,QAAI,YAAY,YAAY,MAAM;AAEhC,kBAAY,QAAQ,MAAM,SAAS;AACnC,YAAM,eAAe,YAAY,QAAQ;AAIzC,kBAAY,QAAQ,MAAM,SAAS,eAAe;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,aAAa,KAAK,CAAC;AACzB;AAEA,IAAO,gCAAQ;","names":[]}