vzcode 2.0.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/dist/assets/{buildWorker-Dsx6rOdK.js → buildWorker-wLkQ0yz1.js} +64 -64
  2. package/dist/assets/{index-BM8tDh6M.css → index-BoFeK4GL.css} +1 -1
  3. package/dist/assets/{index-BgqNq-ww.js → index-DuUjtrt6.js} +107 -107
  4. package/dist/assets/{worker-BeBZGG1n.js → worker-DHxSPM7N.js} +78 -78
  5. package/dist/cli.js +113 -0
  6. package/dist/index.html +2 -2
  7. package/{src/ot.ts → dist/ot.js} +2 -14
  8. package/{src/randomId.ts → dist/randomId.js} +5 -6
  9. package/dist/runCode.js +20 -0
  10. package/dist/server/aiChatHandler/aiEditing.js +89 -0
  11. package/dist/server/aiChatHandler/chatOperations.js +360 -0
  12. package/dist/server/aiChatHandler/errorHandling.js +49 -0
  13. package/dist/server/aiChatHandler/index.js +112 -0
  14. package/dist/server/aiChatHandler/llmStreaming.js +284 -0
  15. package/dist/server/aiChatHandler/validation.js +19 -0
  16. package/dist/server/computeInitialDocument.js +146 -0
  17. package/{src/server/config.ts → dist/server/config.js} +4 -7
  18. package/{src/server/featureFlags.ts → dist/server/featureFlags.js} +0 -3
  19. package/dist/server/generateAIResponse.js +129 -0
  20. package/dist/server/handleAIAssist.js +39 -0
  21. package/dist/server/handleAICopilot.js +81 -0
  22. package/dist/server/index.js +297 -0
  23. package/dist/server/livekit.js +17 -0
  24. package/dist/server/prettier.js +90 -0
  25. package/{src/server/setupEnv.ts → dist/server/setupEnv.js} +1 -2
  26. package/dist/submitOperation.js +14 -0
  27. package/dist/types.js +1 -0
  28. package/dist/utils/fileDiff.js +66 -0
  29. package/package.json +23 -22
  30. package/src/client/AIAssist/AIAssistCodeMirrorKeyMap.ts +0 -42
  31. package/src/client/AIAssist/AIAssistWidget/index.tsx +0 -135
  32. package/src/client/AIAssist/AIAssistWidget/style.scss +0 -47
  33. package/src/client/AIAssist/Spinner.jsx +0 -76
  34. package/src/client/AIAssist/formatFile.ts +0 -27
  35. package/src/client/AIAssist/generateFilesContext.ts +0 -25
  36. package/src/client/AIAssist/index.ts +0 -2
  37. package/src/client/AIAssist/startAIAssist.ts +0 -95
  38. package/src/client/App/index.tsx +0 -153
  39. package/src/client/App/style.scss +0 -82
  40. package/src/client/App/usePending.ts +0 -51
  41. package/src/client/App/useShareDB.ts +0 -161
  42. package/src/client/CodeEditor/Copilot/index.ts +0 -74
  43. package/src/client/CodeEditor/InteractiveWidgets/boolToggler.ts +0 -12
  44. package/src/client/CodeEditor/InteractiveWidgets/colorPicker.ts +0 -68
  45. package/src/client/CodeEditor/InteractiveWidgets/colorsInTextPlugin.ts +0 -174
  46. package/src/client/CodeEditor/InteractiveWidgets/highlightWidgets.ts +0 -79
  47. package/src/client/CodeEditor/InteractiveWidgets/index.ts +0 -44
  48. package/src/client/CodeEditor/InteractiveWidgets/markdownCheckboxToggler.ts +0 -12
  49. package/src/client/CodeEditor/InteractiveWidgets/numberDragger.ts +0 -20
  50. package/src/client/CodeEditor/InteractiveWidgets/rotateWidget.ts +0 -143
  51. package/src/client/CodeEditor/InteractiveWidgets/urlClicker.test.ts +0 -48
  52. package/src/client/CodeEditor/InteractiveWidgets/urlClicker.ts +0 -12
  53. package/src/client/CodeEditor/InteractiveWidgets/vec2Slider.ts +0 -25
  54. package/src/client/CodeEditor/basicSetup.ts +0 -73
  55. package/src/client/CodeEditor/getOrCreateEditor.tsx +0 -615
  56. package/src/client/CodeEditor/index.tsx +0 -202
  57. package/src/client/CodeEditor/json1PresenceBroadcast.ts +0 -41
  58. package/src/client/CodeEditor/json1PresenceDisplay.ts +0 -350
  59. package/src/client/CodeEditor/rainbowBrackets.ts +0 -122
  60. package/src/client/CodeEditor/style.scss +0 -156
  61. package/src/client/CodeEditor/typescriptExtension/worker.ts +0 -32
  62. package/src/client/CodeErrorOverlay/index.tsx +0 -77
  63. package/src/client/CodeErrorOverlay/style.scss +0 -33
  64. package/src/client/Fonts/fonts.ts +0 -8
  65. package/src/client/Icons/AdjustmentSVG.tsx +0 -19
  66. package/src/client/Icons/BugSVG.tsx +0 -20
  67. package/src/client/Icons/CloseSVG.tsx +0 -19
  68. package/src/client/Icons/CssSVG.tsx +0 -16
  69. package/src/client/Icons/DirectoryArrowSVG.tsx +0 -19
  70. package/src/client/Icons/EditSVG.tsx +0 -19
  71. package/src/client/Icons/FileSVG.tsx +0 -19
  72. package/src/client/Icons/FolderSVG.tsx +0 -20
  73. package/src/client/Icons/GearSVG.tsx +0 -16
  74. package/src/client/Icons/HtmlSVG.tsx +0 -16
  75. package/src/client/Icons/JavaScriptSVG.tsx +0 -16
  76. package/src/client/Icons/JsonSVG.tsx +0 -16
  77. package/src/client/Icons/MarkdownSVG.tsx +0 -16
  78. package/src/client/Icons/MicSVG.tsx +0 -25
  79. package/src/client/Icons/NewSVG.tsx +0 -19
  80. package/src/client/Icons/PinSVG.tsx +0 -14
  81. package/src/client/Icons/PlaySVG.tsx +0 -16
  82. package/src/client/Icons/QuestionMarkSVG.tsx +0 -18
  83. package/src/client/Icons/ReactSVG.tsx +0 -16
  84. package/src/client/Icons/SearchSVG.tsx +0 -20
  85. package/src/client/Icons/SparklesSVG.tsx +0 -23
  86. package/src/client/Icons/SplitEditorSVG.tsx +0 -34
  87. package/src/client/Icons/StopSVG.tsx +0 -15
  88. package/src/client/Icons/SvelteSVG.tsx +0 -16
  89. package/src/client/Icons/TrashSVG.tsx +0 -19
  90. package/src/client/Icons/TypeScriptSVG.tsx +0 -16
  91. package/src/client/Icons/index.tsx +0 -24
  92. package/src/client/ImageViewer/index.tsx +0 -91
  93. package/src/client/ImageViewer/style.scss +0 -41
  94. package/src/client/PresenceNotifications/PresenceNotifications.test.ts +0 -134
  95. package/src/client/PresenceNotifications/index.tsx +0 -158
  96. package/src/client/PresenceNotifications/style.scss +0 -17
  97. package/src/client/RunCodeWidget/index.tsx +0 -117
  98. package/src/client/RunCodeWidget/style.scss +0 -24
  99. package/src/client/SplitPaneResizeContext.tsx +0 -159
  100. package/src/client/TabList/Tab.tsx +0 -73
  101. package/src/client/TabList/index.tsx +0 -35
  102. package/src/client/TabList/style.scss +0 -51
  103. package/src/client/VZCodeContext/index.tsx +0 -29
  104. package/src/client/VZCodeContext/types.ts +0 -249
  105. package/src/client/VZCodeContext/useVZCodeState.ts +0 -584
  106. package/src/client/VZKeyboardShortcutsDoc.tsx +0 -148
  107. package/src/client/VZLeft.tsx +0 -28
  108. package/src/client/VZMiddle.tsx +0 -172
  109. package/src/client/VZResizer/index.tsx +0 -128
  110. package/src/client/VZResizer/styles.scss +0 -33
  111. package/src/client/VZRight.tsx +0 -113
  112. package/src/client/VZSettings.tsx +0 -275
  113. package/src/client/VZSidebar/AIChat/ChatInput.tsx +0 -196
  114. package/src/client/VZSidebar/AIChat/DiffView.scss +0 -136
  115. package/src/client/VZSidebar/AIChat/DiffView.tsx +0 -176
  116. package/src/client/VZSidebar/AIChat/Message.tsx +0 -143
  117. package/src/client/VZSidebar/AIChat/MessageList.tsx +0 -205
  118. package/src/client/VZSidebar/AIChat/StreamingMessage.tsx +0 -35
  119. package/src/client/VZSidebar/AIChat/ThinkingScratchpad.tsx +0 -156
  120. package/src/client/VZSidebar/AIChat/TypingIndicator.tsx +0 -19
  121. package/src/client/VZSidebar/AIChat/index.tsx +0 -273
  122. package/src/client/VZSidebar/AIChat/styles.scss +0 -627
  123. package/src/client/VZSidebar/CreateDirModal.tsx +0 -111
  124. package/src/client/VZSidebar/CreateFileModal.tsx +0 -111
  125. package/src/client/VZSidebar/DeleteConfirmationModal.tsx +0 -76
  126. package/src/client/VZSidebar/DirectoryListing.tsx +0 -89
  127. package/src/client/VZSidebar/EmptyState.tsx +0 -11
  128. package/src/client/VZSidebar/FileListing.tsx +0 -91
  129. package/src/client/VZSidebar/FileTypeIcon.tsx +0 -49
  130. package/src/client/VZSidebar/Item.tsx +0 -237
  131. package/src/client/VZSidebar/Listing.tsx +0 -47
  132. package/src/client/VZSidebar/Search.tsx +0 -527
  133. package/src/client/VZSidebar/VisualEditor.tsx +0 -295
  134. package/src/client/VZSidebar/VoiceChatModal.tsx +0 -121
  135. package/src/client/VZSidebar/aiCopyPaste.ts +0 -199
  136. package/src/client/VZSidebar/index.tsx +0 -728
  137. package/src/client/VZSidebar/styles.scss +0 -612
  138. package/src/client/VZSidebar/useDragAndDrop.tsx +0 -408
  139. package/src/client/bootstrap.ts +0 -26
  140. package/src/client/buildWorker.ts +0 -3
  141. package/src/client/featureFlags.ts +0 -8
  142. package/src/client/generateRequestId.ts +0 -6
  143. package/src/client/getFileTree.ts +0 -53
  144. package/src/client/index.ts +0 -19
  145. package/src/client/main.jsx +0 -10
  146. package/src/client/presenceColor.ts +0 -8
  147. package/src/client/shouldTriggerRun.ts +0 -31
  148. package/src/client/sortFileTree.ts +0 -21
  149. package/src/client/tabsSearchParameters.test.ts +0 -79
  150. package/src/client/tabsSearchParameters.ts +0 -137
  151. package/src/client/themes/index.ts +0 -7
  152. package/src/client/themes/themes.ts +0 -77
  153. package/src/client/themes/uiwImports.ts +0 -32
  154. package/src/client/themes/useDynamicTheme.ts +0 -29
  155. package/src/client/themes/vizhubTheme/colors.ts +0 -80
  156. package/src/client/themes/vizhubTheme/index.ts +0 -193
  157. package/src/client/useActions.ts +0 -288
  158. package/src/client/useESLint/index.ts +0 -72
  159. package/src/client/useESLint/worker.ts +0 -113
  160. package/src/client/useEditorCache.ts +0 -35
  161. package/src/client/useFileCRUD.ts +0 -228
  162. package/src/client/useKeyboardShortcuts.ts +0 -451
  163. package/src/client/useOpenDirectories.ts +0 -99
  164. package/src/client/usePresenceAutoFollow.ts +0 -85
  165. package/src/client/usePrettier/index.ts +0 -178
  166. package/src/client/usePrettier/worker.ts +0 -109
  167. package/src/client/useRunCode.tsx +0 -15
  168. package/src/client/useRuntimeError.ts +0 -32
  169. package/src/client/useSubmitOperation.ts +0 -15
  170. package/src/client/useURLSync.ts +0 -137
  171. package/src/client/usernameLocalStorage.ts +0 -43
  172. package/src/client/utils/fileExtension.ts +0 -10
  173. package/src/client/utils/isImageFile.ts +0 -12
  174. package/src/client/vzReducer/aiChatReducer.ts +0 -44
  175. package/src/client/vzReducer/closeTabReducer.test.ts +0 -205
  176. package/src/client/vzReducer/closeTabsReducer.ts +0 -96
  177. package/src/client/vzReducer/createInitialState.ts +0 -38
  178. package/src/client/vzReducer/editorNoLongerWantsFocusReducer.ts +0 -9
  179. package/src/client/vzReducer/findPane.ts +0 -19
  180. package/src/client/vzReducer/index.ts +0 -250
  181. package/src/client/vzReducer/openTabReducer.test.ts +0 -127
  182. package/src/client/vzReducer/openTabReducer.ts +0 -74
  183. package/src/client/vzReducer/searchReducer.test.ts +0 -292
  184. package/src/client/vzReducer/searchReducer.ts +0 -181
  185. package/src/client/vzReducer/setActiveFileIdReducer.ts +0 -28
  186. package/src/client/vzReducer/setActiveFileLeftRightReducer.ts +0 -76
  187. package/src/client/vzReducer/setIsDocOpenReducer.ts +0 -9
  188. package/src/client/vzReducer/setIsSettingsOpenReducer.ts +0 -9
  189. package/src/client/vzReducer/setThemeReducer.ts +0 -9
  190. package/src/client/vzReducer/setUsernameReducer.ts +0 -9
  191. package/src/client/vzReducer/splitCurrentPaneReducer.ts +0 -66
  192. package/src/client/vzReducer/toggleAutoFollowReducer.ts +0 -12
  193. package/src/client/vzReducer/updatePane.ts +0 -40
  194. package/src/client/vzReducer/updatePresenceIndicatorReducer.ts +0 -30
  195. package/src/client/vzReducer/visualEditorReducer.ts +0 -9
  196. package/src/reactRouterExports.ts +0 -15
  197. package/src/runCode.ts +0 -27
  198. package/src/server/aiChatHandler/aiEditing.ts +0 -152
  199. package/src/server/aiChatHandler/chatOperations.ts +0 -510
  200. package/src/server/aiChatHandler/errorHandling.ts +0 -66
  201. package/src/server/aiChatHandler/index.ts +0 -200
  202. package/src/server/aiChatHandler/llmStreaming.ts +0 -419
  203. package/src/server/aiChatHandler/undoHandler.ts +0 -97
  204. package/src/server/aiChatHandler/validation.ts +0 -24
  205. package/src/server/computeInitialDocument.ts +0 -220
  206. package/src/server/generateAIResponse.ts +0 -188
  207. package/src/server/handleAIAssist.ts +0 -53
  208. package/src/server/handleAIChatUndo.ts +0 -2
  209. package/src/server/handleAICopilot.ts +0 -97
  210. package/src/server/index.ts +0 -388
  211. package/src/server/livekit.ts +0 -24
  212. package/src/server/prettier.ts +0 -115
  213. package/src/submitOperation.ts +0 -25
  214. package/src/types.ts +0 -205
  215. package/src/utils/fileDiff.ts +0 -117
  216. package/src/vite-env.d.ts +0 -10
  217. /package/{src/server/handleAIChatMessage.ts → dist/server/handleAIChatMessage.js} +0 -0
  218. /package/{src/server/isDirectory.ts → dist/server/isDirectory.js} +0 -0
@@ -1,249 +0,0 @@
1
- import {
2
- ItemId,
3
- LeafPane,
4
- Pane,
5
- PaneId,
6
- PresenceIndicator,
7
- SearchFileVisibility,
8
- SearchResults,
9
- ShareDBDoc,
10
- SubmitOperation,
11
- TabState,
12
- Username,
13
- } from '../../types';
14
- import { VizFiles, VizContent } from '@vizhub/viz-types';
15
- import { ThemeLabel } from '../themes';
16
- import { EditorCache } from '../useEditorCache';
17
-
18
- // The type of the object provided by this context.
19
- export type VZCodeContextValue = {
20
- content: VizContent | null;
21
- shareDBDoc: ShareDBDoc<VizContent> | null;
22
- submitOperation: (
23
- next: (content: VizContent) => VizContent,
24
- ) => void;
25
- // TODO pull in this type from ShareDB if possible
26
- localPresence: any;
27
- // TODO pull in this type from ShareDB if possible
28
- docPresence: any;
29
-
30
- files: VizFiles | null;
31
- createFile: (fileName: string, text?: string) => void;
32
- renameFile: (fileId: string, fileName: string) => void;
33
- deleteFile: (fileId: string) => void;
34
- createDirectory: (
35
- fileName: string,
36
- text?: string,
37
- ) => void;
38
- renameDirectory: (
39
- directoryId: string,
40
- directoryOldName: string,
41
- directoryName: string,
42
- ) => void;
43
- deleteDirectory: (directoryId: string) => void;
44
- deleteAllFiles: () => void;
45
-
46
- setActiveFileId: (fileId: string | null) => void;
47
- setActiveFileLeft: () => void;
48
- setActiveFileRight: () => void;
49
-
50
- activePaneId: PaneId;
51
- pane: Pane;
52
- activePane: LeafPane;
53
-
54
- openTab: (tabState: TabState) => void;
55
- closeTabs: (fileIds: string[]) => void;
56
-
57
- isSettingsOpen: boolean;
58
- setIsSettingsOpen: (isSettingsOpen: boolean) => void;
59
- closeSettings: () => void;
60
-
61
- isDocOpen: boolean;
62
- setIsDocOpen: (isDocOpen: boolean) => void;
63
- closeDoc: () => void;
64
-
65
- theme: ThemeLabel;
66
- setTheme: (theme: ThemeLabel) => void;
67
-
68
- username: Username;
69
- setUsername: (username: Username) => void;
70
-
71
- isDirectoryOpen: (path: string) => boolean;
72
- toggleDirectory: (path: string) => void;
73
-
74
- editorCache: EditorCache;
75
-
76
- // Whether the editor should be focused.
77
- editorWantsFocus: boolean;
78
- // Signals that the editor no longer wants focus.
79
- editorNoLongerWantsFocus: () => void;
80
-
81
- errorMessage: string | null;
82
-
83
- // Runtime error handling
84
- handleRuntimeError: (
85
- formattedErrorMessage: string,
86
- ) => void;
87
- clearRuntimeError: () => void;
88
-
89
- search: SearchResults;
90
- isSearchOpen: boolean;
91
- setIsSearchOpen: (isSearchOpen: boolean) => void;
92
- setSearch: (pattern: string) => void;
93
-
94
- isVisualEditorOpen: boolean;
95
- setIsVisualEditorOpen: (
96
- isVisualEditorOpen: boolean,
97
- ) => void;
98
-
99
- isAIChatOpen: boolean;
100
- setIsAIChatOpen: (isAIChatOpen: boolean) => void;
101
- aiChatFocused: boolean;
102
- toggleAIChatFocused: () => void;
103
- aiChatMode: 'ask' | 'edit';
104
- setAIChatMode: (mode: 'ask' | 'edit') => void;
105
- aiChatEndpoint?: string;
106
- aiChatUndoEndpoint?: string;
107
- aiChatOptions?: { [key: string]: any };
108
- setSearchResults: (files: ShareDBDoc<VizContent>) => void;
109
- setSearchFileVisibility: (
110
- files: ShareDBDoc<VizContent>,
111
- id: string,
112
- visibility: SearchFileVisibility,
113
- ) => void;
114
- setSearchLineVisibility: (
115
- files: ShareDBDoc<VizContent>,
116
- id: string,
117
- line: number,
118
- ) => void;
119
- setSearchFocusedIndex: (
120
- focusedIndex: number,
121
- childIndex: number,
122
- ) => void;
123
- toggleSearchFocused: () => void;
124
-
125
- isCreateFileModalOpen: boolean;
126
- handleOpenCreateFileModal: () => void;
127
- handleCloseCreateFileModal: () => void;
128
- handleCreateFileClick: (newFileName: string) => void;
129
-
130
- isCreateDirModalOpen: boolean;
131
- handleOpenCreateDirModal: () => void;
132
- handleCloseCreateDirModal: () => void;
133
- handleCreateDirClick: (newFileName: string) => void;
134
-
135
- runPrettierRef: React.MutableRefObject<
136
- null | (() => void)
137
- >;
138
- runCodeRef: React.MutableRefObject<
139
- null | ((hardRerun?: boolean) => void)
140
- >;
141
-
142
- sidebarRef: React.RefObject<HTMLDivElement>;
143
-
144
- codeEditorRef: React.RefObject<HTMLDivElement>;
145
-
146
- iframeRef: React.MutableRefObject<HTMLIFrameElement>;
147
-
148
- connected: boolean;
149
- pending: boolean;
150
-
151
- hoveredItemId: ItemId | null;
152
- setHoveredItemId: (itemId: ItemId | null) => void;
153
-
154
- enableAutoFollow: boolean;
155
- toggleAutoFollow: () => void;
156
-
157
- updatePresenceIndicator: (
158
- presenceIndicator: PresenceIndicator,
159
- ) => void;
160
-
161
- sidebarPresenceIndicators: Array<PresenceIndicator>;
162
- splitCurrentPane: () => void;
163
-
164
- liveKitToken: string;
165
- setLiveKitToken: (state: string) => void;
166
- liveKitRoomName: string;
167
- setLiveKitRoom: (state: string) => void;
168
- liveKitConnection: boolean;
169
- setLiveKitConnection: (state: boolean) => void;
170
- voiceChatModalOpen: boolean;
171
- setVoiceChatModalOpen: (state: boolean) => void;
172
- aiChatMessage: string;
173
- setAIChatMessage: (message: string) => void;
174
- isLoading: boolean;
175
- currentChatId: string;
176
- aiErrorMessage: string | null;
177
- setAIErrorMessage: (state: string | null) => void;
178
- handleSendMessage: (
179
- messageToSend?: string,
180
- options?: Record<string, string>,
181
- ) => void;
182
-
183
- // Message history navigation
184
- navigateMessageHistoryUp: () => void;
185
- navigateMessageHistoryDown: () => void;
186
- resetMessageHistoryNavigation: () => void;
187
-
188
- // Auto-fork functions for VizHub integration
189
- autoForkAndRetryAI?: (
190
- prompt: string,
191
- modelName: string,
192
- commitId?: string,
193
- ) => Promise<void>;
194
- clearStoredAIPrompt?: () => void;
195
- getStoredAIPrompt?: () => {
196
- prompt: string;
197
- modelName: string;
198
- } | null;
199
-
200
- // Additional widgets that can be rendered in AI chat messages
201
- additionalWidgets?: React.ComponentType<{
202
- messageId: string;
203
- chatId: string;
204
- canUndo: boolean;
205
- handleSendMessage?: (
206
- messageToSend?: string,
207
- options?: Record<string, string>,
208
- ) => void;
209
- }>;
210
- };
211
-
212
- export interface VZCodeProviderProps {
213
- content: VizContent;
214
- shareDBDoc: ShareDBDoc<VizContent>;
215
- submitOperation: SubmitOperation;
216
- localPresence: any;
217
- docPresence: any;
218
- prettierWorker: Worker;
219
- initialUsername: Username;
220
- children: React.ReactNode;
221
- codeError?: string | null;
222
- connected?: boolean;
223
- pending?: boolean;
224
- liveKitToken?: string | undefined;
225
- setLiveKitToken?: (state: string) => void;
226
- liveKitRoomName?: string | undefined;
227
- setLiveKitRoom?: (state: string) => void;
228
- liveKitConnection?: boolean;
229
- setLiveKitConnection?: (state: boolean) => void;
230
- aiChatEndpoint?: string;
231
- aiChatUndoEndpoint?: string;
232
- aiChatOptions?: { [key: string]: any };
233
- autoForkAndRetryAI?: (
234
- prompt: string,
235
- modelName: string,
236
- commitId?: string,
237
- ) => Promise<void>;
238
- clearStoredAIPrompt?: () => void;
239
- getStoredAIPrompt?: () => {
240
- prompt: string;
241
- modelName: string;
242
- } | null;
243
- additionalWidgets?: React.ComponentType<{
244
- messageId: string;
245
- chatId: string;
246
- canUndo: boolean;
247
- }>;
248
- iframeRef?: React.MutableRefObject<HTMLIFrameElement>;
249
- }