@docyrus/ui-pro-ai-assistant 0.0.2 → 0.0.3

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 (307) hide show
  1. package/package.json +2 -3
  2. package/src/components/assistant-animations.tsx +0 -29
  3. package/src/components/assistant-dialogs.tsx +0 -235
  4. package/src/components/code-view.tsx +0 -278
  5. package/src/components/create-agent-task.tsx +0 -104
  6. package/src/components/create-new-work-version.tsx +0 -30
  7. package/src/components/extract-web.tsx +0 -160
  8. package/src/components/forward-to-agent.tsx +0 -90
  9. package/src/components/generate-chart.tsx +0 -101
  10. package/src/components/generative-action-button.tsx +0 -122
  11. package/src/components/generative-tool.tsx +0 -685
  12. package/src/components/generative-ui-object.tsx +0 -210
  13. package/src/components/input-area.tsx +0 -1209
  14. package/src/components/json-schema-layout.tsx +0 -326
  15. package/src/components/list-item-card.tsx +0 -92
  16. package/src/components/mermaid-diagram.tsx +0 -192
  17. package/src/components/preview-image.tsx +0 -47
  18. package/src/components/request-approval.tsx +0 -48
  19. package/src/components/request-user-input.tsx +0 -270
  20. package/src/components/search-web.tsx +0 -319
  21. package/src/components/sheet-command.tsx +0 -88
  22. package/src/components/shell-canvas.tsx +0 -122
  23. package/src/components/show-advanced-data-table.tsx +0 -352
  24. package/src/components/show-generated-content-options.tsx +0 -93
  25. package/src/components/show-people-cards.tsx +0 -180
  26. package/src/components/subagent-tool.tsx +0 -180
  27. package/src/components/text-editor-tool.tsx +0 -328
  28. package/src/components/work-canvas.tsx +0 -88
  29. package/src/components/work-card.tsx +0 -42
  30. package/src/declarations.d.ts +0 -1
  31. package/src/docy-assistant.tsx +0 -1962
  32. package/src/hooks/index.ts +0 -7
  33. package/src/hooks/use-assistant-api.ts +0 -507
  34. package/src/hooks/use-deployment-data.ts +0 -162
  35. package/src/hooks/use-project-state.ts +0 -347
  36. package/src/hooks/use-session-state.ts +0 -207
  37. package/src/hooks/use-speech-recognition.ts +0 -137
  38. package/src/hooks/use-ui-state.ts +0 -185
  39. package/src/hooks/use-works-state.ts +0 -146
  40. package/src/i18n/context.tsx +0 -253
  41. package/src/i18n/index.ts +0 -19
  42. package/src/i18n/locales/de.json +0 -198
  43. package/src/i18n/locales/el.json +0 -198
  44. package/src/i18n/locales/en.json +0 -226
  45. package/src/i18n/locales/es.json +0 -198
  46. package/src/i18n/locales/fr.json +0 -198
  47. package/src/i18n/locales/it.json +0 -198
  48. package/src/i18n/locales/pt.json +0 -198
  49. package/src/i18n/locales/sl.json +0 -198
  50. package/src/i18n/locales/tr.json +0 -211
  51. package/src/i18n/types.ts +0 -23
  52. package/src/i18n/use-translation.ts +0 -17
  53. package/src/index.ts +0 -18
  54. package/src/internal/plate-editor/editor/auth-context.ts +0 -11
  55. package/src/internal/plate-editor/editor/editor-base-kit.tsx +0 -39
  56. package/src/internal/plate-editor/editor/editor-kit.tsx +0 -89
  57. package/src/internal/plate-editor/editor/plate-editor.tsx +0 -75
  58. package/src/internal/plate-editor/editor/plate-types.ts +0 -126
  59. package/src/internal/plate-editor/editor/plugins/ai-kit.tsx +0 -172
  60. package/src/internal/plate-editor/editor/plugins/autoformat-kit.tsx +0 -211
  61. package/src/internal/plate-editor/editor/plugins/basic-blocks-base-kit.tsx +0 -26
  62. package/src/internal/plate-editor/editor/plugins/basic-blocks-kit.tsx +0 -51
  63. package/src/internal/plate-editor/editor/plugins/basic-marks-base-kit.tsx +0 -24
  64. package/src/internal/plate-editor/editor/plugins/basic-marks-kit.tsx +0 -38
  65. package/src/internal/plate-editor/editor/plugins/basic-nodes-kit.tsx +0 -6
  66. package/src/internal/plate-editor/editor/plugins/block-menu-kit.tsx +0 -14
  67. package/src/internal/plate-editor/editor/plugins/block-placeholder-kit.tsx +0 -17
  68. package/src/internal/plate-editor/editor/plugins/block-selection-kit.tsx +0 -31
  69. package/src/internal/plate-editor/editor/plugins/callout-base-kit.tsx +0 -5
  70. package/src/internal/plate-editor/editor/plugins/callout-kit.tsx +0 -7
  71. package/src/internal/plate-editor/editor/plugins/code-block-base-kit.tsx +0 -23
  72. package/src/internal/plate-editor/editor/plugins/code-block-kit.tsx +0 -26
  73. package/src/internal/plate-editor/editor/plugins/column-base-kit.tsx +0 -8
  74. package/src/internal/plate-editor/editor/plugins/column-kit.tsx +0 -7
  75. package/src/internal/plate-editor/editor/plugins/comment-base-kit.tsx +0 -5
  76. package/src/internal/plate-editor/editor/plugins/comment-kit.tsx +0 -174
  77. package/src/internal/plate-editor/editor/plugins/copilot-kit.tsx +0 -68
  78. package/src/internal/plate-editor/editor/plugins/cursor-overlay-kit.tsx +0 -13
  79. package/src/internal/plate-editor/editor/plugins/date-base-kit.tsx +0 -5
  80. package/src/internal/plate-editor/editor/plugins/date-kit.tsx +0 -7
  81. package/src/internal/plate-editor/editor/plugins/discussion-kit.tsx +0 -36
  82. package/src/internal/plate-editor/editor/plugins/dnd-kit.tsx +0 -27
  83. package/src/internal/plate-editor/editor/plugins/docx-export-kit.tsx +0 -43
  84. package/src/internal/plate-editor/editor/plugins/docx-kit.tsx +0 -6
  85. package/src/internal/plate-editor/editor/plugins/emoji-kit.tsx +0 -15
  86. package/src/internal/plate-editor/editor/plugins/exit-break-kit.tsx +0 -12
  87. package/src/internal/plate-editor/editor/plugins/floating-toolbar-kit.tsx +0 -19
  88. package/src/internal/plate-editor/editor/plugins/font-base-kit.tsx +0 -36
  89. package/src/internal/plate-editor/editor/plugins/font-kit.tsx +0 -47
  90. package/src/internal/plate-editor/editor/plugins/indent-base-kit.tsx +0 -19
  91. package/src/internal/plate-editor/editor/plugins/indent-kit.tsx +0 -22
  92. package/src/internal/plate-editor/editor/plugins/link-base-kit.tsx +0 -5
  93. package/src/internal/plate-editor/editor/plugins/link-kit.tsx +0 -35
  94. package/src/internal/plate-editor/editor/plugins/list-base-kit.tsx +0 -24
  95. package/src/internal/plate-editor/editor/plugins/list-kit.tsx +0 -27
  96. package/src/internal/plate-editor/editor/plugins/markdown-kit.tsx +0 -18
  97. package/src/internal/plate-editor/editor/plugins/math-base-kit.tsx +0 -8
  98. package/src/internal/plate-editor/editor/plugins/math-kit.tsx +0 -10
  99. package/src/internal/plate-editor/editor/plugins/media-base-kit.tsx +0 -37
  100. package/src/internal/plate-editor/editor/plugins/media-kit.tsx +0 -53
  101. package/src/internal/plate-editor/editor/plugins/mention-base-kit.tsx +0 -5
  102. package/src/internal/plate-editor/editor/plugins/mention-kit.tsx +0 -36
  103. package/src/internal/plate-editor/editor/plugins/slash-kit.tsx +0 -17
  104. package/src/internal/plate-editor/editor/plugins/suggestion-base-kit.tsx +0 -5
  105. package/src/internal/plate-editor/editor/plugins/suggestion-kit.tsx +0 -95
  106. package/src/internal/plate-editor/editor/plugins/table-base-kit.tsx +0 -20
  107. package/src/internal/plate-editor/editor/plugins/table-kit.tsx +0 -22
  108. package/src/internal/plate-editor/editor/plugins/toc-base-kit.tsx +0 -5
  109. package/src/internal/plate-editor/editor/plugins/toc-kit.tsx +0 -14
  110. package/src/internal/plate-editor/editor/plugins/toggle-base-kit.tsx +0 -5
  111. package/src/internal/plate-editor/editor/plugins/toggle-kit.tsx +0 -9
  112. package/src/internal/plate-editor/editor/transforms.ts +0 -165
  113. package/src/internal/plate-editor/editor/use-chat.ts +0 -152
  114. package/src/internal/plate-editor/hooks/index.ts +0 -3
  115. package/src/internal/plate-editor/hooks/use-copy-to-clipboard.ts +0 -31
  116. package/src/internal/plate-editor/hooks/use-is-touch-device.ts +0 -26
  117. package/src/internal/plate-editor/hooks/use-lock-scroll.ts +0 -21
  118. package/src/internal/plate-editor/hooks/use-media-query.ts +0 -44
  119. package/src/internal/plate-editor/hooks/use-mounted.ts +0 -18
  120. package/src/internal/plate-editor/hooks/use-on-click-outside.ts +0 -114
  121. package/src/internal/plate-editor/hooks/use-upload-file.ts +0 -81
  122. package/src/internal/plate-editor/i18n/context.tsx +0 -58
  123. package/src/internal/plate-editor/i18n/index.ts +0 -3
  124. package/src/internal/plate-editor/i18n/locales/de.json +0 -57
  125. package/src/internal/plate-editor/i18n/locales/el.json +0 -57
  126. package/src/internal/plate-editor/i18n/locales/en.json +0 -57
  127. package/src/internal/plate-editor/i18n/locales/es.json +0 -57
  128. package/src/internal/plate-editor/i18n/locales/fr.json +0 -57
  129. package/src/internal/plate-editor/i18n/locales/it.json +0 -57
  130. package/src/internal/plate-editor/i18n/locales/pt.json +0 -57
  131. package/src/internal/plate-editor/i18n/locales/sl.json +0 -57
  132. package/src/internal/plate-editor/i18n/locales/tr.json +0 -57
  133. package/src/internal/plate-editor/i18n/types.ts +0 -59
  134. package/src/internal/plate-editor/i18n/use-translation.ts +0 -22
  135. package/src/internal/plate-editor/index.ts +0 -39
  136. package/src/internal/plate-editor/lib/ai-output-converter.ts +0 -153
  137. package/src/internal/plate-editor/lib/download-file.ts +0 -17
  138. package/src/internal/plate-editor/plate-ui/ai-chat-editor.tsx +0 -24
  139. package/src/internal/plate-editor/plate-ui/ai-menu.tsx +0 -828
  140. package/src/internal/plate-editor/plate-ui/ai-node.tsx +0 -41
  141. package/src/internal/plate-editor/plate-ui/ai-toolbar-button.tsx +0 -25
  142. package/src/internal/plate-editor/plate-ui/alert-dialog.tsx +0 -145
  143. package/src/internal/plate-editor/plate-ui/align-toolbar-button.tsx +0 -88
  144. package/src/internal/plate-editor/plate-ui/avatar.tsx +0 -3
  145. package/src/internal/plate-editor/plate-ui/block-context-menu.tsx +0 -104
  146. package/src/internal/plate-editor/plate-ui/block-discussion.tsx +0 -364
  147. package/src/internal/plate-editor/plate-ui/block-draggable.tsx +0 -557
  148. package/src/internal/plate-editor/plate-ui/block-list-static.tsx +0 -77
  149. package/src/internal/plate-editor/plate-ui/block-list.tsx +0 -85
  150. package/src/internal/plate-editor/plate-ui/block-menu.tsx +0 -555
  151. package/src/internal/plate-editor/plate-ui/block-selection.tsx +0 -47
  152. package/src/internal/plate-editor/plate-ui/block-suggestion.tsx +0 -469
  153. package/src/internal/plate-editor/plate-ui/blockquote-node-static.tsx +0 -10
  154. package/src/internal/plate-editor/plate-ui/blockquote-node.tsx +0 -11
  155. package/src/internal/plate-editor/plate-ui/button.tsx +0 -201
  156. package/src/internal/plate-editor/plate-ui/calendar.tsx +0 -3
  157. package/src/internal/plate-editor/plate-ui/callout-node-static.tsx +0 -76
  158. package/src/internal/plate-editor/plate-ui/callout-node.tsx +0 -54
  159. package/src/internal/plate-editor/plate-ui/caption.tsx +0 -47
  160. package/src/internal/plate-editor/plate-ui/checkbox.tsx +0 -3
  161. package/src/internal/plate-editor/plate-ui/code-block-node-static.tsx +0 -172
  162. package/src/internal/plate-editor/plate-ui/code-block-node.tsx +0 -226
  163. package/src/internal/plate-editor/plate-ui/code-node-static.tsx +0 -11
  164. package/src/internal/plate-editor/plate-ui/code-node.tsx +0 -12
  165. package/src/internal/plate-editor/plate-ui/column-node-static.tsx +0 -65
  166. package/src/internal/plate-editor/plate-ui/column-node.tsx +0 -24
  167. package/src/internal/plate-editor/plate-ui/command.tsx +0 -202
  168. package/src/internal/plate-editor/plate-ui/comment-node-static.tsx +0 -12
  169. package/src/internal/plate-editor/plate-ui/comment-node.tsx +0 -45
  170. package/src/internal/plate-editor/plate-ui/comment-toolbar-button.tsx +0 -24
  171. package/src/internal/plate-editor/plate-ui/comment.tsx +0 -619
  172. package/src/internal/plate-editor/plate-ui/cursor-overlay.tsx +0 -85
  173. package/src/internal/plate-editor/plate-ui/date-node-static.tsx +0 -43
  174. package/src/internal/plate-editor/plate-ui/date-node.tsx +0 -54
  175. package/src/internal/plate-editor/plate-ui/dialog.tsx +0 -445
  176. package/src/internal/plate-editor/plate-ui/dropdown-menu.tsx +0 -264
  177. package/src/internal/plate-editor/plate-ui/editor-static.tsx +0 -40
  178. package/src/internal/plate-editor/plate-ui/editor.tsx +0 -146
  179. package/src/internal/plate-editor/plate-ui/emoji-node.tsx +0 -48
  180. package/src/internal/plate-editor/plate-ui/emoji-toolbar-button.tsx +0 -626
  181. package/src/internal/plate-editor/plate-ui/equation-node-static.tsx +0 -155
  182. package/src/internal/plate-editor/plate-ui/equation-node.tsx +0 -226
  183. package/src/internal/plate-editor/plate-ui/equation-toolbar-button.tsx +0 -26
  184. package/src/internal/plate-editor/plate-ui/export-toolbar-button.tsx +0 -206
  185. package/src/internal/plate-editor/plate-ui/fixed-toolbar-buttons.tsx +0 -157
  186. package/src/internal/plate-editor/plate-ui/fixed-toolbar.tsx +0 -25
  187. package/src/internal/plate-editor/plate-ui/floating-discussion.tsx +0 -1129
  188. package/src/internal/plate-editor/plate-ui/floating-toolbar-buttons.tsx +0 -129
  189. package/src/internal/plate-editor/plate-ui/floating-toolbar.tsx +0 -97
  190. package/src/internal/plate-editor/plate-ui/font-color-toolbar-button.tsx +0 -209
  191. package/src/internal/plate-editor/plate-ui/font-size-toolbar-button.tsx +0 -152
  192. package/src/internal/plate-editor/plate-ui/ghost-text.tsx +0 -20
  193. package/src/internal/plate-editor/plate-ui/heading-node-static.tsx +0 -52
  194. package/src/internal/plate-editor/plate-ui/heading-node.tsx +0 -56
  195. package/src/internal/plate-editor/plate-ui/highlight-node-static.tsx +0 -9
  196. package/src/internal/plate-editor/plate-ui/highlight-node.tsx +0 -11
  197. package/src/internal/plate-editor/plate-ui/history-toolbar-button.tsx +0 -50
  198. package/src/internal/plate-editor/plate-ui/hover-card.tsx +0 -7
  199. package/src/internal/plate-editor/plate-ui/hr-node-static.tsx +0 -18
  200. package/src/internal/plate-editor/plate-ui/hr-node.tsx +0 -28
  201. package/src/internal/plate-editor/plate-ui/import-toolbar-button.tsx +0 -122
  202. package/src/internal/plate-editor/plate-ui/indent-toolbar-button.tsx +0 -32
  203. package/src/internal/plate-editor/plate-ui/inline-combobox.tsx +0 -409
  204. package/src/internal/plate-editor/plate-ui/input.tsx +0 -37
  205. package/src/internal/plate-editor/plate-ui/insert-toolbar-button.tsx +0 -258
  206. package/src/internal/plate-editor/plate-ui/label.tsx +0 -1
  207. package/src/internal/plate-editor/plate-ui/line-height-toolbar-button.tsx +0 -69
  208. package/src/internal/plate-editor/plate-ui/link-node-static.tsx +0 -15
  209. package/src/internal/plate-editor/plate-ui/link-node.tsx +0 -33
  210. package/src/internal/plate-editor/plate-ui/link-toolbar-button.tsx +0 -28
  211. package/src/internal/plate-editor/plate-ui/link-toolbar.tsx +0 -147
  212. package/src/internal/plate-editor/plate-ui/list-toolbar-button.tsx +0 -177
  213. package/src/internal/plate-editor/plate-ui/mark-toolbar-button.tsx +0 -34
  214. package/src/internal/plate-editor/plate-ui/media-audio-node-static.tsx +0 -21
  215. package/src/internal/plate-editor/plate-ui/media-audio-node.tsx +0 -32
  216. package/src/internal/plate-editor/plate-ui/media-embed-node.tsx +0 -103
  217. package/src/internal/plate-editor/plate-ui/media-file-node-static.tsx +0 -30
  218. package/src/internal/plate-editor/plate-ui/media-file-node.tsx +0 -52
  219. package/src/internal/plate-editor/plate-ui/media-image-node-static.tsx +0 -37
  220. package/src/internal/plate-editor/plate-ui/media-image-node.tsx +0 -183
  221. package/src/internal/plate-editor/plate-ui/media-placeholder-node.tsx +0 -441
  222. package/src/internal/plate-editor/plate-ui/media-preview-dialog.tsx +0 -127
  223. package/src/internal/plate-editor/plate-ui/media-toolbar-button.tsx +0 -227
  224. package/src/internal/plate-editor/plate-ui/media-toolbar.tsx +0 -214
  225. package/src/internal/plate-editor/plate-ui/media-upload-toast.tsx +0 -73
  226. package/src/internal/plate-editor/plate-ui/media-video-node-static.tsx +0 -35
  227. package/src/internal/plate-editor/plate-ui/media-video-node.tsx +0 -119
  228. package/src/internal/plate-editor/plate-ui/mention-node-static.tsx +0 -46
  229. package/src/internal/plate-editor/plate-ui/mention-node.tsx +0 -79
  230. package/src/internal/plate-editor/plate-ui/menu.tsx +0 -539
  231. package/src/internal/plate-editor/plate-ui/mode-toolbar-button.tsx +0 -124
  232. package/src/internal/plate-editor/plate-ui/more-toolbar-button.tsx +0 -34
  233. package/src/internal/plate-editor/plate-ui/paragraph-node-static.tsx +0 -15
  234. package/src/internal/plate-editor/plate-ui/paragraph-node.tsx +0 -16
  235. package/src/internal/plate-editor/plate-ui/popover.tsx +0 -75
  236. package/src/internal/plate-editor/plate-ui/progress.tsx +0 -1
  237. package/src/internal/plate-editor/plate-ui/remote-cursor-overlay.tsx +0 -79
  238. package/src/internal/plate-editor/plate-ui/resize-handle.tsx +0 -86
  239. package/src/internal/plate-editor/plate-ui/separator.tsx +0 -41
  240. package/src/internal/plate-editor/plate-ui/slash-node.tsx +0 -433
  241. package/src/internal/plate-editor/plate-ui/spinner.tsx +0 -1
  242. package/src/internal/plate-editor/plate-ui/suggestion-node-static.tsx +0 -35
  243. package/src/internal/plate-editor/plate-ui/suggestion-node.tsx +0 -166
  244. package/src/internal/plate-editor/plate-ui/suggestion-toolbar-button.tsx +0 -24
  245. package/src/internal/plate-editor/plate-ui/table-node-static.tsx +0 -84
  246. package/src/internal/plate-editor/plate-ui/table-node.tsx +0 -283
  247. package/src/internal/plate-editor/plate-ui/table-toolbar-button.tsx +0 -252
  248. package/src/internal/plate-editor/plate-ui/tabs.tsx +0 -3
  249. package/src/internal/plate-editor/plate-ui/textarea.tsx +0 -57
  250. package/src/internal/plate-editor/plate-ui/toc-node-static.tsx +0 -142
  251. package/src/internal/plate-editor/plate-ui/toc-node.tsx +0 -57
  252. package/src/internal/plate-editor/plate-ui/toc-sidebar.tsx +0 -48
  253. package/src/internal/plate-editor/plate-ui/toggle-node-static.tsx +0 -18
  254. package/src/internal/plate-editor/plate-ui/toggle-node.tsx +0 -33
  255. package/src/internal/plate-editor/plate-ui/toggle-toolbar-button.tsx +0 -24
  256. package/src/internal/plate-editor/plate-ui/toggle.tsx +0 -3
  257. package/src/internal/plate-editor/plate-ui/toolbar.tsx +0 -378
  258. package/src/internal/plate-editor/plate-ui/tooltip.tsx +0 -148
  259. package/src/internal/plate-editor/plate-ui/turn-into-toolbar-button.tsx +0 -175
  260. package/src/internal/plate-editor/types/index.ts +0 -22
  261. package/src/internal/plate-editor/vite.ts +0 -284
  262. package/src/internal/sheets/components/univer-sheets.tsx +0 -1104
  263. package/src/internal/sheets/i18n/context.tsx +0 -183
  264. package/src/internal/sheets/i18n/index.ts +0 -19
  265. package/src/internal/sheets/i18n/locales/de.json +0 -21
  266. package/src/internal/sheets/i18n/locales/el.json +0 -21
  267. package/src/internal/sheets/i18n/locales/en.json +0 -21
  268. package/src/internal/sheets/i18n/locales/es.json +0 -21
  269. package/src/internal/sheets/i18n/locales/fr.json +0 -21
  270. package/src/internal/sheets/i18n/locales/it.json +0 -21
  271. package/src/internal/sheets/i18n/locales/pt.json +0 -21
  272. package/src/internal/sheets/i18n/locales/sl.json +0 -21
  273. package/src/internal/sheets/i18n/locales/tr.json +0 -21
  274. package/src/internal/sheets/i18n/types.ts +0 -23
  275. package/src/internal/sheets/i18n/use-translation.ts +0 -17
  276. package/src/internal/sheets/index.ts +0 -14
  277. package/src/internal/sheets/types/css.d.ts +0 -11
  278. package/src/internal/sheets/types/index.ts +0 -260
  279. package/src/internal/sheets/xlsx.ts +0 -1169
  280. package/src/lib/api-client.ts +0 -77
  281. package/src/lib/assistant-api-actions.ts +0 -549
  282. package/src/lib/assistant-config.tsx +0 -75
  283. package/src/lib/class-utils.ts +0 -40
  284. package/src/lib/index.ts +0 -7
  285. package/src/lib/message-utils.ts +0 -131
  286. package/src/tools/tools-schema.json +0 -512
  287. package/src/types/index.ts +0 -235
  288. package/src/views/assistant-view.tsx +0 -1137
  289. package/src/views/canvas-app.tsx +0 -839
  290. package/src/views/canvas-code.tsx +0 -93
  291. package/src/views/canvas-deep-research.tsx +0 -44
  292. package/src/views/canvas-image.tsx +0 -25
  293. package/src/views/canvas-record-view.tsx +0 -285
  294. package/src/views/canvas-spreadsheet.tsx +0 -125
  295. package/src/views/canvas-text.tsx +0 -52
  296. package/src/views/canvas.tsx +0 -274
  297. package/src/views/chat-panel.tsx +0 -149
  298. package/src/views/index.ts +0 -20
  299. package/src/views/memories-panel.tsx +0 -365
  300. package/src/views/message-list.tsx +0 -370
  301. package/src/views/project-detail.tsx +0 -257
  302. package/src/views/projects-panel.tsx +0 -131
  303. package/src/views/sessions-list.tsx +0 -98
  304. package/src/views/sidebar-content.tsx +0 -256
  305. package/src/views/work-detail.tsx +0 -98
  306. package/src/vite.ts +0 -64
  307. package/src/worker.ts +0 -203
@@ -1,17 +0,0 @@
1
- 'use client';
2
-
3
- import { SlashInputPlugin, SlashPlugin } from '@platejs/slash-command/react';
4
- import { KEYS } from 'platejs';
5
-
6
- import { SlashInputElement } from '../../plate-ui/slash-node';
7
-
8
- export const SlashKit = [
9
- SlashPlugin.configure({
10
- options: {
11
- triggerQuery: editor => !editor.api.some({
12
- match: { type: editor.getType(KEYS.codeBlock) }
13
- })
14
- }
15
- }),
16
- SlashInputPlugin.withComponent(SlashInputElement)
17
- ];
@@ -1,5 +0,0 @@
1
- import { BaseSuggestionPlugin } from '@platejs/suggestion';
2
-
3
- import { SuggestionLeafStatic } from '../../plate-ui/suggestion-node-static';
4
-
5
- export const BaseSuggestionKit = [BaseSuggestionPlugin.withComponent(SuggestionLeafStatic)];
@@ -1,95 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- type BaseSuggestionConfig,
5
- BaseSuggestionPlugin
6
- } from '@platejs/suggestion';
7
- import {
8
- type ExtendConfig,
9
- type Path,
10
- isSlateEditor,
11
- isSlateString
12
- } from 'platejs';
13
- import { toTPlatePlugin } from 'platejs/react';
14
-
15
- import { discussionPlugin } from './discussion-kit';
16
-
17
- import {
18
- SuggestionLeaf,
19
- SuggestionLineBreak
20
- } from '../../plate-ui/suggestion-node';
21
-
22
- export type SuggestionConfig = ExtendConfig<
23
- BaseSuggestionConfig,
24
- {
25
- activeId: string | null;
26
- hoverId: string | null;
27
- uniquePathMap: Map<string, Path>;
28
- }
29
- >;
30
-
31
- export const suggestionPlugin = toTPlatePlugin<SuggestionConfig>(
32
- BaseSuggestionPlugin,
33
- ({ editor }) => ({
34
- handlers: {
35
- onClick: ({
36
- api, event, setOption, type
37
- }) => {
38
- let leaf = event.target as HTMLElement;
39
- let isSet = false;
40
-
41
- const isBlockLeaf = leaf.dataset.blockSuggestion === 'true';
42
-
43
- const unsetActiveSuggestion = () => {
44
- setOption('activeId', null);
45
- isSet = true;
46
- };
47
-
48
- if (!isSlateString(leaf) && !isBlockLeaf) {
49
- unsetActiveSuggestion();
50
- }
51
-
52
- while (leaf.parentElement && !isSlateEditor(leaf.parentElement)) {
53
- const isBlockSuggestion = leaf.dataset.blockSuggestion === 'true';
54
-
55
- if (leaf.classList.contains(`slate-${type}`) || isBlockSuggestion) {
56
- const suggestionEntry = api.suggestion!.node({
57
- isText: !isBlockSuggestion
58
- });
59
-
60
- if (!suggestionEntry) {
61
- unsetActiveSuggestion();
62
-
63
- break;
64
- }
65
-
66
- const id = api.suggestion!.nodeId(suggestionEntry[0]);
67
-
68
- setOption('activeId', id ?? null);
69
-
70
- isSet = true;
71
-
72
- break;
73
- }
74
-
75
- leaf = leaf.parentElement;
76
- }
77
-
78
- if (!isSet) unsetActiveSuggestion();
79
- }
80
- },
81
- options: {
82
- activeId: null,
83
- currentUserId: editor.getOption(discussionPlugin, 'currentUserId'),
84
- hoverId: null,
85
- uniquePathMap: new Map()
86
- }
87
- })
88
- ).configure({
89
- render: {
90
- belowNodes: SuggestionLineBreak as any,
91
- node: SuggestionLeaf
92
- }
93
- });
94
-
95
- export const SuggestionKit = [suggestionPlugin];
@@ -1,20 +0,0 @@
1
- import {
2
- BaseTableCellHeaderPlugin,
3
- BaseTableCellPlugin,
4
- BaseTablePlugin,
5
- BaseTableRowPlugin
6
- } from '@platejs/table';
7
-
8
- import {
9
- TableCellElementStatic,
10
- TableCellHeaderElementStatic,
11
- TableElementStatic,
12
- TableRowElementStatic
13
- } from '../../plate-ui/table-node-static';
14
-
15
- export const BaseTableKit = [
16
- BaseTablePlugin.withComponent(TableElementStatic),
17
- BaseTableRowPlugin.withComponent(TableRowElementStatic),
18
- BaseTableCellPlugin.withComponent(TableCellElementStatic),
19
- BaseTableCellHeaderPlugin.withComponent(TableCellHeaderElementStatic)
20
- ];
@@ -1,22 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- TableCellHeaderPlugin,
5
- TableCellPlugin,
6
- TablePlugin,
7
- TableRowPlugin
8
- } from '@platejs/table/react';
9
-
10
- import {
11
- TableCellElement,
12
- TableCellHeaderElement,
13
- TableElement,
14
- TableRowElement
15
- } from '../../plate-ui/table-node';
16
-
17
- export const TableKit = [
18
- TablePlugin.withComponent(TableElement),
19
- TableRowPlugin.withComponent(TableRowElement),
20
- TableCellPlugin.withComponent(TableCellElement),
21
- TableCellHeaderPlugin.withComponent(TableCellHeaderElement)
22
- ];
@@ -1,5 +0,0 @@
1
- import { BaseTocPlugin } from '@platejs/toc';
2
-
3
- import { TocElementStatic } from '../../plate-ui/toc-node-static';
4
-
5
- export const BaseTocKit = [BaseTocPlugin.withComponent(TocElementStatic)];
@@ -1,14 +0,0 @@
1
- 'use client';
2
-
3
- import { TocPlugin } from '@platejs/toc/react';
4
-
5
- import { TocElement } from '../../plate-ui/toc-node';
6
-
7
- export const TocKit = [
8
- TocPlugin.configure({
9
- options: {
10
- isScroll: true,
11
- topOffset: 80
12
- }
13
- }).withComponent(TocElement)
14
- ];
@@ -1,5 +0,0 @@
1
- import { BaseTogglePlugin } from '@platejs/toggle';
2
-
3
- import { ToggleElementStatic } from '../../plate-ui/toggle-node-static';
4
-
5
- export const BaseToggleKit = [BaseTogglePlugin.withComponent(ToggleElementStatic)];
@@ -1,9 +0,0 @@
1
- 'use client';
2
-
3
- import { TogglePlugin } from '@platejs/toggle/react';
4
-
5
- import { IndentKit } from './indent-kit';
6
-
7
- import { ToggleElement } from '../../plate-ui/toggle-node';
8
-
9
- export const ToggleKit = [...IndentKit, TogglePlugin.withComponent(ToggleElement)];
@@ -1,165 +0,0 @@
1
- import { type PlateEditor } from 'platejs/react';
2
-
3
- import { insertCallout } from '@platejs/callout';
4
- import { insertCodeBlock } from '@platejs/code-block';
5
- import { insertDate } from '@platejs/date';
6
- import { insertColumnGroup, toggleColumnGroup } from '@platejs/layout';
7
- import { insertEquation, insertInlineEquation } from '@platejs/math';
8
- import {
9
- insertAudioPlaceholder,
10
- insertFilePlaceholder,
11
- insertImagePlaceholder,
12
- insertVideoPlaceholder
13
- } from '@platejs/media';
14
- import { insertTable } from '@platejs/table';
15
- import { insertToc } from '@platejs/toc';
16
- import {
17
- KEYS,
18
- type NodeEntry,
19
- type Path,
20
- PathApi,
21
- type TElement
22
- } from 'platejs';
23
-
24
- const ACTION_THREE_COLUMNS = 'action_three_columns';
25
-
26
- const insertList = (editor: PlateEditor, type: string) => {
27
- editor.tf.insertNodes(
28
- editor.api.create.block({
29
- indent: 1,
30
- listStyleType: type
31
- }),
32
- { select: true }
33
- );
34
- };
35
-
36
- const insertBlockMap: Record<
37
- string,
38
- (editor: PlateEditor, type: string) => void
39
- > = {
40
- [KEYS.listTodo]: insertList,
41
- [KEYS.ol]: insertList,
42
- [KEYS.ul]: insertList,
43
- [ACTION_THREE_COLUMNS]: editor => insertColumnGroup(editor, { columns: 3, select: true }),
44
- [KEYS.audio]: editor => insertAudioPlaceholder(editor, { select: true }),
45
- [KEYS.callout]: editor => insertCallout(editor, { select: true }),
46
- [KEYS.codeBlock]: editor => insertCodeBlock(editor, { select: true }),
47
- [KEYS.equation]: editor => insertEquation(editor, { select: true }),
48
- [KEYS.file]: editor => insertFilePlaceholder(editor, { select: true }),
49
- [KEYS.img]: editor => insertImagePlaceholder(editor, { select: true }),
50
- [KEYS.table]: editor => insertTable(editor, {}, { select: true }),
51
- [KEYS.toc]: editor => insertToc(editor, { select: true }),
52
- [KEYS.video]: editor => insertVideoPlaceholder(editor, { select: true })
53
- };
54
-
55
- const insertInlineMap: Record<
56
- string,
57
- (editor: PlateEditor, type: string) => void
58
- > = {
59
- [KEYS.date]: editor => insertDate(editor, { select: true }),
60
- [KEYS.inlineEquation]: editor => insertInlineEquation(editor, '', { select: true })
61
- };
62
-
63
- export const insertBlock = (editor: PlateEditor, type: string) => {
64
- editor.tf.withoutNormalizing(() => {
65
- const block = editor.api.block();
66
-
67
- if (!block) return;
68
- if (type in insertBlockMap) {
69
- insertBlockMap[type](editor, type);
70
- } else {
71
- editor.tf.insertNodes(editor.api.create.block({ type }), {
72
- at: PathApi.next(block[1]),
73
- select: true
74
- });
75
- }
76
- if (getBlockType(block[0]) !== type) {
77
- editor.tf.removeNodes({ previousEmptyBlock: true });
78
- }
79
- });
80
- };
81
-
82
- export const insertInlineElement = (editor: PlateEditor, type: string) => {
83
- if (insertInlineMap[type]) {
84
- insertInlineMap[type](editor, type);
85
- }
86
- };
87
-
88
- const setList = (
89
- editor: PlateEditor,
90
- type: string,
91
- entry: NodeEntry<TElement>
92
- ) => {
93
- editor.tf.setNodes(
94
- editor.api.create.block({
95
- indent: 1,
96
- listStyleType: type
97
- }),
98
- {
99
- at: entry[1]
100
- }
101
- );
102
- };
103
-
104
- const setBlockMap: Record<
105
- string,
106
- (editor: PlateEditor, type: string, entry: NodeEntry<TElement>) => void
107
- > = {
108
- [KEYS.listTodo]: setList,
109
- [KEYS.ol]: setList,
110
- [KEYS.ul]: setList,
111
- [ACTION_THREE_COLUMNS]: editor => toggleColumnGroup(editor, { columns: 3 })
112
- };
113
-
114
- export const setBlockType = (
115
- editor: PlateEditor,
116
- type: string,
117
- { at }: { at?: Path } = {}
118
- ) => {
119
- editor.tf.withoutNormalizing(() => {
120
- const setEntry = (entry: NodeEntry<TElement>) => {
121
- const [node, path] = entry;
122
-
123
- if (node[KEYS.listType]) {
124
- editor.tf.unsetNodes([KEYS.listType, 'indent'], { at: path });
125
- }
126
- if (type in setBlockMap) {
127
- return setBlockMap[type](editor, type, entry);
128
- }
129
- if (node.type !== type) {
130
- editor.tf.setNodes({ type } as TElement, { at: path });
131
- }
132
- };
133
-
134
- if (at) {
135
- const entry = editor.api.node(at) as NodeEntry<TElement> | undefined;
136
-
137
- if (entry) {
138
- setEntry(entry);
139
-
140
- return;
141
- }
142
- }
143
-
144
- const entries = editor.api.blocks({ mode: 'lowest' }) as NodeEntry<TElement>[];
145
-
146
- entries.forEach((entry: NodeEntry<TElement>) => {
147
- setEntry(entry);
148
- });
149
- });
150
- };
151
-
152
- export const getBlockType = (block: TElement) => {
153
- if (block[KEYS.listType]) {
154
- if (block[KEYS.listType] === KEYS.ol) {
155
- return KEYS.ol;
156
- }
157
- if (block[KEYS.listType] === KEYS.listTodo) {
158
- return KEYS.listTodo;
159
- }
160
-
161
- return KEYS.ul;
162
- }
163
-
164
- return block.type;
165
- };
@@ -1,152 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect } from 'react';
4
-
5
- import { type UseChatHelpers, useChat as useBaseChat } from '@ai-sdk/react';
6
- import { withAIBatch } from '@platejs/ai';
7
- import {
8
- AIChatPlugin,
9
- aiCommentToRange,
10
- applyTableCellSuggestion
11
- } from '@platejs/ai/react';
12
- import { getCommentKey, getTransientCommentKey } from '@platejs/comment';
13
- import { deserializeMd } from '@platejs/markdown';
14
- import { DefaultChatTransport, type UIMessage } from 'ai';
15
- import {
16
- KEYS, NodeApi, nanoid, TextApi, type TNode
17
- } from 'platejs';
18
- import { useEditorRef } from 'platejs/react';
19
-
20
- import { useAuthContext } from './auth-context';
21
- import { discussionPlugin } from './plugins/discussion-kit';
22
-
23
- export type Chat = UseChatHelpers<ChatMessage>;
24
-
25
- export type ChatMessage = UIMessage<{}, MessageDataPart>;
26
-
27
- export type MessageDataPart = {
28
- toolName: ToolName;
29
- comment?: TComment;
30
- table?: TTableCellUpdate;
31
- };
32
-
33
- export type TComment = {
34
- comment: {
35
- blockId: string;
36
- comment: string;
37
- content: string;
38
- } | null;
39
- status: 'finished' | 'streaming';
40
- };
41
-
42
- export type TTableCellUpdate = {
43
- cell: {
44
- content: string;
45
- id: string;
46
- } | null;
47
- status: 'finished' | 'streaming';
48
- };
49
-
50
- export type ToolName = 'comment' | 'edit' | 'generate';
51
-
52
- export const useChat = () => {
53
- const editor = useEditorRef();
54
- const { getAccessToken } = useAuthContext();
55
- const baseChat = useBaseChat<ChatMessage>({
56
- id: 'editor',
57
- transport: new DefaultChatTransport({
58
- api: '/api/ai/command',
59
- headers: async () => {
60
- const token = getAccessToken ? await getAccessToken() : null;
61
-
62
- return {
63
- 'Content-Type': 'application/json',
64
- ...(token && { Authorization: `Bearer ${token}` })
65
- };
66
- }
67
- }),
68
- onData(data) {
69
- if (data.type === 'data-toolName') {
70
- editor.setOption(AIChatPlugin, 'toolName', data.data as ToolName);
71
- }
72
- // Handle table cell updates
73
- if (data.type === 'data-table' && data.data) {
74
- const tableData = data.data as TTableCellUpdate;
75
-
76
- if (tableData.status === 'streaming' && tableData.cell) {
77
- withAIBatch(editor, () => {
78
- applyTableCellSuggestion(editor, tableData.cell!);
79
- });
80
- }
81
- }
82
- // Handle comment data
83
- if (data.type === 'data-comment' && data.data) {
84
- const commentData = data.data as TComment;
85
-
86
- if (commentData.status !== 'streaming' || !commentData.comment) return;
87
-
88
- const aiComment = commentData.comment;
89
-
90
- const range = aiCommentToRange(editor, aiComment);
91
-
92
- if (!range) return;
93
-
94
- const discussions
95
- = editor.getOption(discussionPlugin, 'discussions') || [];
96
-
97
- // Generate a new discussion ID
98
- const discussionId = nanoid();
99
-
100
- // Create a new comment
101
- const newComment = {
102
- id: nanoid(),
103
- contentRich: [{ children: [{ text: aiComment.comment }], type: 'p' }],
104
- createdAt: new Date(),
105
- discussionId,
106
- isEdited: false,
107
- userId: editor.getOption(discussionPlugin, 'currentUserId')
108
- };
109
-
110
- // Create a new discussion
111
- const newDiscussion = {
112
- id: discussionId,
113
- comments: [newComment],
114
- createdAt: new Date(),
115
- documentContent: deserializeMd(editor, aiComment.content)
116
- .map((node: TNode) => NodeApi.string(node))
117
- .join('\n'),
118
- isResolved: false,
119
- userId: editor.getOption(discussionPlugin, 'currentUserId')
120
- };
121
-
122
- // Update discussions
123
- const updatedDiscussions = [...discussions, newDiscussion];
124
-
125
- editor.setOption(discussionPlugin, 'discussions', updatedDiscussions);
126
-
127
- // Apply comment marks to the editor
128
- editor.tf.withMerging(() => {
129
- editor.tf.setNodes(
130
- {
131
- [getCommentKey(newDiscussion.id)]: true,
132
- [getTransientCommentKey()]: true,
133
- [KEYS.comment]: true
134
- },
135
- {
136
- at: range,
137
- match: TextApi.isText,
138
- split: true
139
- }
140
- );
141
- });
142
- }
143
- }
144
- });
145
-
146
- useEffect(() => {
147
- editor.setOption(AIChatPlugin, 'chat', baseChat as any);
148
- // eslint-disable-next-line react-hooks/exhaustive-deps
149
- }, [baseChat.status, baseChat.messages, baseChat.error]);
150
-
151
- return baseChat;
152
- };
@@ -1,3 +0,0 @@
1
- export { useCopyToClipboard } from './use-copy-to-clipboard';
2
- export { useIsTouchDevice } from './use-is-touch-device';
3
- export { useLockScroll } from './use-lock-scroll';
@@ -1,31 +0,0 @@
1
- 'use client';
2
-
3
- import { useCallback, useState } from 'react';
4
-
5
- export function useCopyToClipboard() {
6
- const [isCopied, setIsCopied] = useState(false);
7
-
8
- const copyToClipboard = useCallback(
9
- async (text: string, _options?: { tooltip?: string }) => {
10
- try {
11
- await navigator.clipboard.writeText(text);
12
- setIsCopied(true);
13
- setTimeout(() => setIsCopied(false), 2000);
14
- } catch {
15
- // Fallback
16
- const textarea = document.createElement('textarea');
17
-
18
- textarea.value = text;
19
- document.body.appendChild(textarea);
20
- textarea.select();
21
- document.execCommand('copy');
22
- document.body.removeChild(textarea);
23
- setIsCopied(true);
24
- setTimeout(() => setIsCopied(false), 2000);
25
- }
26
- },
27
- []
28
- );
29
-
30
- return { copyToClipboard, isCopied };
31
- }
@@ -1,26 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect, useState } from 'react';
4
-
5
- export function useIsTouchDevice() {
6
- const [isTouchDevice, setIsTouchDevice] = useState(false);
7
-
8
- useEffect(() => {
9
- function onResize() {
10
- setIsTouchDevice(
11
- 'ontouchstart' in window
12
- || navigator.maxTouchPoints > 0
13
- || navigator.maxTouchPoints > 0
14
- );
15
- }
16
-
17
- window.addEventListener('resize', onResize);
18
- onResize();
19
-
20
- return () => {
21
- window.removeEventListener('resize', onResize);
22
- };
23
- }, []);
24
-
25
- return isTouchDevice;
26
- }
@@ -1,21 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect } from 'react';
4
-
5
- export function useLockScroll(lock: boolean, selector?: string) {
6
- useEffect(() => {
7
- if (!lock) return;
8
-
9
- const target = selector ? document.querySelector(selector) : document.body;
10
-
11
- if (!target) return;
12
-
13
- const prev = (target as HTMLElement).style.overflow;
14
-
15
- (target as HTMLElement).style.overflow = 'hidden';
16
-
17
- return () => {
18
- (target as HTMLElement).style.overflow = prev;
19
- };
20
- }, [lock, selector]);
21
- }
@@ -1,44 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- /** Checks if the current viewport matches the specified media query. */
4
- export const useMediaQuery = (query: string): boolean => {
5
- const getMatches = (query: string): boolean => {
6
- // Prevents SSR issues
7
- if (typeof window !== 'undefined') {
8
- return window.matchMedia(query).matches;
9
- }
10
-
11
- return false;
12
- };
13
-
14
- const [matches, setMatches] = useState<boolean>(getMatches(query));
15
-
16
- function handleChange() {
17
- setMatches(getMatches(query));
18
- }
19
-
20
- useEffect(() => {
21
- const matchMedia = window.matchMedia(query);
22
-
23
- // Triggered at the first client-side load and if query changes
24
- handleChange();
25
-
26
- // Listen matchMedia
27
- if (matchMedia.addListener) {
28
- matchMedia.addListener(handleChange);
29
- } else {
30
- matchMedia.addEventListener('change', handleChange);
31
- }
32
-
33
- return () => {
34
- if (matchMedia.removeListener) {
35
- matchMedia.removeListener(handleChange);
36
- } else {
37
- matchMedia.removeEventListener('change', handleChange);
38
- }
39
- };
40
- // eslint-disable-next-line react-hooks/exhaustive-deps
41
- }, [query]);
42
-
43
- return matches;
44
- };
@@ -1,18 +0,0 @@
1
- 'use client';
2
-
3
- import { useSyncExternalStore } from 'react';
4
-
5
- /**
6
- * A custom hook that returns a boolean value indicating whether the component
7
- * is mounted (client-side) or not. Useful for preventing hydration mismatches
8
- * when rendering different content on server vs client.
9
- */
10
- export const useMounted = () => {
11
- return useSyncExternalStore(
12
- subscribe, // subscribe: no-op, never changes
13
- () => true, // getSnapshot (client): always true
14
- () => false // getServerSnapshot (SSR): always false
15
- );
16
- };
17
-
18
- const subscribe = () => () => {};