@nocturnium/svelte-ide 1.0.0-rc.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 (330) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +251 -0
  3. package/dist/components/agents/AgentActivityPanel.svelte +565 -0
  4. package/dist/components/agents/AgentActivityPanel.svelte.d.ts +24 -0
  5. package/dist/components/agents/AgentAvatar.svelte +417 -0
  6. package/dist/components/agents/AgentAvatar.svelte.d.ts +23 -0
  7. package/dist/components/agents/AgentCursor.svelte +224 -0
  8. package/dist/components/agents/AgentCursor.svelte.d.ts +35 -0
  9. package/dist/components/agents/AgentPresenceBar.svelte +261 -0
  10. package/dist/components/agents/AgentPresenceBar.svelte.d.ts +20 -0
  11. package/dist/components/agents/index.d.ts +4 -0
  12. package/dist/components/agents/index.js +5 -0
  13. package/dist/components/ai/AIConversationList.svelte +524 -0
  14. package/dist/components/ai/AIConversationList.svelte.d.ts +17 -0
  15. package/dist/components/ai/AIEditPreview.svelte +132 -0
  16. package/dist/components/ai/AIEditPreview.svelte.d.ts +8 -0
  17. package/dist/components/ai/AIInlineEdit.svelte +155 -0
  18. package/dist/components/ai/AIInlineEdit.svelte.d.ts +10 -0
  19. package/dist/components/ai/AIMessage.svelte +239 -0
  20. package/dist/components/ai/AIMessage.svelte.d.ts +13 -0
  21. package/dist/components/ai/AIMessageActions.svelte +176 -0
  22. package/dist/components/ai/AIMessageActions.svelte.d.ts +12 -0
  23. package/dist/components/ai/AIMessageContent.svelte +355 -0
  24. package/dist/components/ai/AIMessageContent.svelte.d.ts +7 -0
  25. package/dist/components/ai/AIPanel.svelte +561 -0
  26. package/dist/components/ai/AIPanel.svelte.d.ts +7 -0
  27. package/dist/components/ai/AISuggestionWidget.svelte +132 -0
  28. package/dist/components/ai/AISuggestionWidget.svelte.d.ts +10 -0
  29. package/dist/components/ai/AIToolCallDisplay.svelte +317 -0
  30. package/dist/components/ai/AIToolCallDisplay.svelte.d.ts +12 -0
  31. package/dist/components/ai/index.d.ts +9 -0
  32. package/dist/components/ai/index.js +10 -0
  33. package/dist/components/core/Avatar.svelte +110 -0
  34. package/dist/components/core/Avatar.svelte.d.ts +12 -0
  35. package/dist/components/core/Badge.svelte +98 -0
  36. package/dist/components/core/Badge.svelte.d.ts +11 -0
  37. package/dist/components/core/Button.svelte +175 -0
  38. package/dist/components/core/Button.svelte.d.ts +18 -0
  39. package/dist/components/core/ConnectionStatus.svelte +294 -0
  40. package/dist/components/core/ConnectionStatus.svelte.d.ts +20 -0
  41. package/dist/components/core/ContextMenu.svelte +176 -0
  42. package/dist/components/core/ContextMenu.svelte.d.ts +19 -0
  43. package/dist/components/core/ErrorBoundary.svelte +277 -0
  44. package/dist/components/core/ErrorBoundary.svelte.d.ts +23 -0
  45. package/dist/components/core/Icon.svelte +107 -0
  46. package/dist/components/core/Icon.svelte.d.ts +8 -0
  47. package/dist/components/core/Input.svelte +138 -0
  48. package/dist/components/core/Input.svelte.d.ts +20 -0
  49. package/dist/components/core/Kbd.svelte +34 -0
  50. package/dist/components/core/Kbd.svelte.d.ts +7 -0
  51. package/dist/components/core/ResizeHandle.svelte +200 -0
  52. package/dist/components/core/ResizeHandle.svelte.d.ts +23 -0
  53. package/dist/components/core/Spinner.svelte +35 -0
  54. package/dist/components/core/Spinner.svelte.d.ts +7 -0
  55. package/dist/components/core/Textarea.svelte +112 -0
  56. package/dist/components/core/Textarea.svelte.d.ts +18 -0
  57. package/dist/components/core/Tooltip.svelte +103 -0
  58. package/dist/components/core/Tooltip.svelte.d.ts +11 -0
  59. package/dist/components/core/index.d.ts +13 -0
  60. package/dist/components/core/index.js +14 -0
  61. package/dist/components/editor/AIFocusLayer.svelte +430 -0
  62. package/dist/components/editor/AIFocusLayer.svelte.d.ts +32 -0
  63. package/dist/components/editor/Breadcrumbs.svelte +435 -0
  64. package/dist/components/editor/Breadcrumbs.svelte.d.ts +33 -0
  65. package/dist/components/editor/BreakpointLayer.svelte +642 -0
  66. package/dist/components/editor/BreakpointLayer.svelte.d.ts +20 -0
  67. package/dist/components/editor/CognitiveLoadMeter.svelte +324 -0
  68. package/dist/components/editor/CognitiveLoadMeter.svelte.d.ts +18 -0
  69. package/dist/components/editor/CollaborativeEditor.svelte +218 -0
  70. package/dist/components/editor/CollaborativeEditor.svelte.d.ts +32 -0
  71. package/dist/components/editor/CommandPalette.svelte +434 -0
  72. package/dist/components/editor/CommandPalette.svelte.d.ts +11 -0
  73. package/dist/components/editor/ComplexityLayer.svelte +293 -0
  74. package/dist/components/editor/ComplexityLayer.svelte.d.ts +23 -0
  75. package/dist/components/editor/ConflictZoneLayer.svelte +441 -0
  76. package/dist/components/editor/ConflictZoneLayer.svelte.d.ts +25 -0
  77. package/dist/components/editor/ContextLens.svelte +262 -0
  78. package/dist/components/editor/ContextLens.svelte.d.ts +27 -0
  79. package/dist/components/editor/CustomEditor.svelte +1242 -0
  80. package/dist/components/editor/CustomEditor.svelte.d.ts +37 -0
  81. package/dist/components/editor/DebugConsole.svelte +646 -0
  82. package/dist/components/editor/DebugConsole.svelte.d.ts +41 -0
  83. package/dist/components/editor/EchoCursorLayer.svelte +363 -0
  84. package/dist/components/editor/EchoCursorLayer.svelte.d.ts +24 -0
  85. package/dist/components/editor/Editor.svelte +61 -0
  86. package/dist/components/editor/Editor.svelte.d.ts +22 -0
  87. package/dist/components/editor/EditorGutter.svelte +119 -0
  88. package/dist/components/editor/EditorGutter.svelte.d.ts +19 -0
  89. package/dist/components/editor/EditorLines.svelte +182 -0
  90. package/dist/components/editor/EditorLines.svelte.d.ts +43 -0
  91. package/dist/components/editor/EditorPane.svelte +134 -0
  92. package/dist/components/editor/EditorPane.svelte.d.ts +9 -0
  93. package/dist/components/editor/EditorSelections.svelte +186 -0
  94. package/dist/components/editor/EditorSelections.svelte.d.ts +25 -0
  95. package/dist/components/editor/EditorTabs.svelte +170 -0
  96. package/dist/components/editor/EditorTabs.svelte.d.ts +12 -0
  97. package/dist/components/editor/FileExplorer.svelte +811 -0
  98. package/dist/components/editor/FileExplorer.svelte.d.ts +67 -0
  99. package/dist/components/editor/FileIcon.svelte +110 -0
  100. package/dist/components/editor/FileIcon.svelte.d.ts +10 -0
  101. package/dist/components/editor/FindReplace.svelte +448 -0
  102. package/dist/components/editor/FindReplace.svelte.d.ts +40 -0
  103. package/dist/components/editor/GhostBracketLayer.svelte +391 -0
  104. package/dist/components/editor/GhostBracketLayer.svelte.d.ts +24 -0
  105. package/dist/components/editor/GitBlameLayer.svelte +436 -0
  106. package/dist/components/editor/GitBlameLayer.svelte.d.ts +18 -0
  107. package/dist/components/editor/InlineDiagnosticsLayer.svelte +540 -0
  108. package/dist/components/editor/InlineDiagnosticsLayer.svelte.d.ts +35 -0
  109. package/dist/components/editor/InlineDiffLayer.svelte +337 -0
  110. package/dist/components/editor/InlineDiffLayer.svelte.d.ts +31 -0
  111. package/dist/components/editor/MinimalEditor.svelte +75 -0
  112. package/dist/components/editor/MinimalEditor.svelte.d.ts +6 -0
  113. package/dist/components/editor/MinimalEditor2.svelte +84 -0
  114. package/dist/components/editor/MinimalEditor2.svelte.d.ts +6 -0
  115. package/dist/components/editor/Minimap.svelte +327 -0
  116. package/dist/components/editor/Minimap.svelte.d.ts +34 -0
  117. package/dist/components/editor/PluginPreviewSandbox.svelte +793 -0
  118. package/dist/components/editor/PluginPreviewSandbox.svelte.d.ts +49 -0
  119. package/dist/components/editor/ProblemsPanel.svelte +628 -0
  120. package/dist/components/editor/ProblemsPanel.svelte.d.ts +25 -0
  121. package/dist/components/editor/QuickActionsMenu.svelte +403 -0
  122. package/dist/components/editor/QuickActionsMenu.svelte.d.ts +18 -0
  123. package/dist/components/editor/SnippetPalette.svelte +530 -0
  124. package/dist/components/editor/SnippetPalette.svelte.d.ts +16 -0
  125. package/dist/components/editor/StructureMap.svelte +431 -0
  126. package/dist/components/editor/StructureMap.svelte.d.ts +37 -0
  127. package/dist/components/editor/SymbolOutline.svelte +722 -0
  128. package/dist/components/editor/SymbolOutline.svelte.d.ts +44 -0
  129. package/dist/components/editor/TimelineScrubber.svelte +470 -0
  130. package/dist/components/editor/TimelineScrubber.svelte.d.ts +40 -0
  131. package/dist/components/editor/TokenRenderer.svelte +69 -0
  132. package/dist/components/editor/TokenRenderer.svelte.d.ts +15 -0
  133. package/dist/components/editor/constants.d.ts +32 -0
  134. package/dist/components/editor/constants.js +36 -0
  135. package/dist/components/editor/core/ai-awareness.d.ts +176 -0
  136. package/dist/components/editor/core/ai-awareness.js +210 -0
  137. package/dist/components/editor/core/bracket-healer.d.ts +189 -0
  138. package/dist/components/editor/core/bracket-healer.js +406 -0
  139. package/dist/components/editor/core/breakpoints.d.ts +203 -0
  140. package/dist/components/editor/core/breakpoints.js +414 -0
  141. package/dist/components/editor/core/commands.d.ts +108 -0
  142. package/dist/components/editor/core/commands.js +246 -0
  143. package/dist/components/editor/core/complexity-analyzer.d.ts +123 -0
  144. package/dist/components/editor/core/complexity-analyzer.js +376 -0
  145. package/dist/components/editor/core/conflict-predictor.d.ts +135 -0
  146. package/dist/components/editor/core/conflict-predictor.js +316 -0
  147. package/dist/components/editor/core/crdt-binding.d.ts +118 -0
  148. package/dist/components/editor/core/crdt-binding.js +286 -0
  149. package/dist/components/editor/core/diagnostics.d.ts +210 -0
  150. package/dist/components/editor/core/diagnostics.js +335 -0
  151. package/dist/components/editor/core/echo-cursor.d.ts +201 -0
  152. package/dist/components/editor/core/echo-cursor.js +267 -0
  153. package/dist/components/editor/core/folding.d.ts +124 -0
  154. package/dist/components/editor/core/folding.js +672 -0
  155. package/dist/components/editor/core/ghost-pair.d.ts +122 -0
  156. package/dist/components/editor/core/ghost-pair.js +221 -0
  157. package/dist/components/editor/core/git-blame.d.ts +170 -0
  158. package/dist/components/editor/core/git-blame.js +324 -0
  159. package/dist/components/editor/core/index.d.ts +26 -0
  160. package/dist/components/editor/core/index.js +24 -0
  161. package/dist/components/editor/core/keybindings.d.ts +79 -0
  162. package/dist/components/editor/core/keybindings.js +357 -0
  163. package/dist/components/editor/core/multi-cursor.d.ts +196 -0
  164. package/dist/components/editor/core/multi-cursor.js +521 -0
  165. package/dist/components/editor/core/navigation.d.ts +107 -0
  166. package/dist/components/editor/core/navigation.js +408 -0
  167. package/dist/components/editor/core/quick-actions.d.ts +189 -0
  168. package/dist/components/editor/core/quick-actions.js +427 -0
  169. package/dist/components/editor/core/search.d.ts +88 -0
  170. package/dist/components/editor/core/search.js +192 -0
  171. package/dist/components/editor/core/semantic-analyzer.d.ts +77 -0
  172. package/dist/components/editor/core/semantic-analyzer.js +424 -0
  173. package/dist/components/editor/core/snippet-manager.d.ts +202 -0
  174. package/dist/components/editor/core/snippet-manager.js +565 -0
  175. package/dist/components/editor/core/state.d.ts +367 -0
  176. package/dist/components/editor/core/state.js +900 -0
  177. package/dist/components/editor/core/timeline.d.ts +204 -0
  178. package/dist/components/editor/core/timeline.js +349 -0
  179. package/dist/components/editor/editor-find.d.ts +56 -0
  180. package/dist/components/editor/editor-find.js +148 -0
  181. package/dist/components/editor/editor-input.d.ts +77 -0
  182. package/dist/components/editor/editor-input.js +445 -0
  183. package/dist/components/editor/editor-multicursor.d.ts +21 -0
  184. package/dist/components/editor/editor-multicursor.js +196 -0
  185. package/dist/components/editor/editor-scroll.d.ts +14 -0
  186. package/dist/components/editor/editor-scroll.js +34 -0
  187. package/dist/components/editor/index.d.ts +15 -0
  188. package/dist/components/editor/index.js +21 -0
  189. package/dist/components/editor/languages.d.ts +62 -0
  190. package/dist/components/editor/languages.js +285 -0
  191. package/dist/components/editor/theme.d.ts +88 -0
  192. package/dist/components/editor/theme.js +139 -0
  193. package/dist/components/editor/tokenizer/base.d.ts +40 -0
  194. package/dist/components/editor/tokenizer/base.js +203 -0
  195. package/dist/components/editor/tokenizer/index.d.ts +56 -0
  196. package/dist/components/editor/tokenizer/index.js +215 -0
  197. package/dist/components/editor/tokenizer/languages/css.d.ts +17 -0
  198. package/dist/components/editor/tokenizer/languages/css.js +194 -0
  199. package/dist/components/editor/tokenizer/languages/go.d.ts +17 -0
  200. package/dist/components/editor/tokenizer/languages/go.js +220 -0
  201. package/dist/components/editor/tokenizer/languages/html.d.ts +24 -0
  202. package/dist/components/editor/tokenizer/languages/html.js +145 -0
  203. package/dist/components/editor/tokenizer/languages/javascript.d.ts +56 -0
  204. package/dist/components/editor/tokenizer/languages/javascript.js +452 -0
  205. package/dist/components/editor/tokenizer/languages/json.d.ts +12 -0
  206. package/dist/components/editor/tokenizer/languages/json.js +91 -0
  207. package/dist/components/editor/tokenizer/languages/markdown.d.ts +16 -0
  208. package/dist/components/editor/tokenizer/languages/markdown.js +156 -0
  209. package/dist/components/editor/tokenizer/languages/python.d.ts +20 -0
  210. package/dist/components/editor/tokenizer/languages/python.js +227 -0
  211. package/dist/components/editor/tokenizer/languages/svelte.d.ts +40 -0
  212. package/dist/components/editor/tokenizer/languages/svelte.js +326 -0
  213. package/dist/components/editor/tokenizer/types.d.ts +86 -0
  214. package/dist/components/editor/tokenizer/types.js +4 -0
  215. package/dist/components/layout/IDELayout.svelte +274 -0
  216. package/dist/components/layout/IDELayout.svelte.d.ts +29 -0
  217. package/dist/components/layout/StatusBar.svelte +511 -0
  218. package/dist/components/layout/StatusBar.svelte.d.ts +47 -0
  219. package/dist/components/layout/index.d.ts +2 -0
  220. package/dist/components/layout/index.js +3 -0
  221. package/dist/components/lsp/AutocompleteWidget.svelte +364 -0
  222. package/dist/components/lsp/AutocompleteWidget.svelte.d.ts +33 -0
  223. package/dist/components/lsp/DiagnosticMarker.svelte +166 -0
  224. package/dist/components/lsp/DiagnosticMarker.svelte.d.ts +19 -0
  225. package/dist/components/lsp/DiagnosticsPanel.svelte +388 -0
  226. package/dist/components/lsp/DiagnosticsPanel.svelte.d.ts +21 -0
  227. package/dist/components/lsp/HoverTooltip.svelte +274 -0
  228. package/dist/components/lsp/HoverTooltip.svelte.d.ts +24 -0
  229. package/dist/components/lsp/LSPEditor.svelte +486 -0
  230. package/dist/components/lsp/LSPEditor.svelte.d.ts +39 -0
  231. package/dist/components/lsp/SignatureHelpWidget.svelte +216 -0
  232. package/dist/components/lsp/SignatureHelpWidget.svelte.d.ts +22 -0
  233. package/dist/components/lsp/index.d.ts +6 -0
  234. package/dist/components/lsp/index.js +7 -0
  235. package/dist/components/plugins/PluginCard.svelte +153 -0
  236. package/dist/components/plugins/PluginCard.svelte.d.ts +19 -0
  237. package/dist/components/plugins/PluginPanel.svelte +280 -0
  238. package/dist/components/plugins/PluginPanel.svelte.d.ts +8 -0
  239. package/dist/components/plugins/PluginProposalForm.svelte +250 -0
  240. package/dist/components/plugins/PluginProposalForm.svelte.d.ts +6 -0
  241. package/dist/components/plugins/PluginStatusBadge.svelte +14 -0
  242. package/dist/components/plugins/PluginStatusBadge.svelte.d.ts +8 -0
  243. package/dist/components/plugins/index.d.ts +4 -0
  244. package/dist/components/plugins/index.js +5 -0
  245. package/dist/components/vfs/LockConflictDialog.svelte +705 -0
  246. package/dist/components/vfs/LockConflictDialog.svelte.d.ts +21 -0
  247. package/dist/components/vfs/LockIndicator.svelte +194 -0
  248. package/dist/components/vfs/LockIndicator.svelte.d.ts +29 -0
  249. package/dist/components/vfs/LockOverlay.svelte +344 -0
  250. package/dist/components/vfs/LockOverlay.svelte.d.ts +17 -0
  251. package/dist/components/vfs/VersionConflictDialog.svelte +549 -0
  252. package/dist/components/vfs/VersionConflictDialog.svelte.d.ts +24 -0
  253. package/dist/components/vfs/index.d.ts +4 -0
  254. package/dist/components/vfs/index.js +5 -0
  255. package/dist/crdt/awareness.d.ts +42 -0
  256. package/dist/crdt/awareness.js +109 -0
  257. package/dist/crdt/document.d.ts +101 -0
  258. package/dist/crdt/document.js +187 -0
  259. package/dist/crdt/index.d.ts +9 -0
  260. package/dist/crdt/index.js +8 -0
  261. package/dist/crdt/provider.d.ts +85 -0
  262. package/dist/crdt/provider.js +150 -0
  263. package/dist/crdt/types.d.ts +61 -0
  264. package/dist/crdt/types.js +4 -0
  265. package/dist/crdt/undo.d.ts +34 -0
  266. package/dist/crdt/undo.js +70 -0
  267. package/dist/index.d.ts +277 -0
  268. package/dist/index.js +280 -0
  269. package/dist/plugins/index.d.ts +103 -0
  270. package/dist/plugins/index.js +153 -0
  271. package/dist/services/error-handling.d.ts +95 -0
  272. package/dist/services/error-handling.js +413 -0
  273. package/dist/services/ide-integration.d.ts +83 -0
  274. package/dist/services/ide-integration.js +367 -0
  275. package/dist/services/lsp-client.d.ts +69 -0
  276. package/dist/services/lsp-client.js +667 -0
  277. package/dist/services/mock-ai.d.ts +37 -0
  278. package/dist/services/mock-ai.js +318 -0
  279. package/dist/services/optimistic.d.ts +141 -0
  280. package/dist/services/optimistic.js +367 -0
  281. package/dist/services/vfs-client.d.ts +81 -0
  282. package/dist/services/vfs-client.js +348 -0
  283. package/dist/stores/agents.svelte.d.ts +85 -0
  284. package/dist/stores/agents.svelte.js +459 -0
  285. package/dist/stores/ai-persistence.svelte.d.ts +76 -0
  286. package/dist/stores/ai-persistence.svelte.js +334 -0
  287. package/dist/stores/ai.svelte.d.ts +140 -0
  288. package/dist/stores/ai.svelte.js +383 -0
  289. package/dist/stores/collaboration.svelte.d.ts +164 -0
  290. package/dist/stores/collaboration.svelte.js +334 -0
  291. package/dist/stores/editor.svelte.d.ts +131 -0
  292. package/dist/stores/editor.svelte.js +250 -0
  293. package/dist/stores/index.d.ts +10 -0
  294. package/dist/stores/index.js +29 -0
  295. package/dist/stores/layout.svelte.d.ts +171 -0
  296. package/dist/stores/layout.svelte.js +351 -0
  297. package/dist/stores/plugin.svelte.d.ts +121 -0
  298. package/dist/stores/plugin.svelte.js +410 -0
  299. package/dist/stores/vfs.svelte.d.ts +123 -0
  300. package/dist/stores/vfs.svelte.js +680 -0
  301. package/dist/styles/theme.css +623 -0
  302. package/dist/types/agents.d.ts +127 -0
  303. package/dist/types/agents.js +5 -0
  304. package/dist/types/ai.d.ts +137 -0
  305. package/dist/types/ai.js +4 -0
  306. package/dist/types/crdt.d.ts +222 -0
  307. package/dist/types/crdt.js +5 -0
  308. package/dist/types/editor.d.ts +52 -0
  309. package/dist/types/editor.js +18 -0
  310. package/dist/types/events.d.ts +133 -0
  311. package/dist/types/events.js +4 -0
  312. package/dist/types/filesystem.d.ts +77 -0
  313. package/dist/types/filesystem.js +4 -0
  314. package/dist/types/index.d.ts +9 -0
  315. package/dist/types/index.js +12 -0
  316. package/dist/types/lsp.d.ts +691 -0
  317. package/dist/types/lsp.js +108 -0
  318. package/dist/types/plugin.d.ts +239 -0
  319. package/dist/types/plugin.js +5 -0
  320. package/dist/types/vfs.d.ts +191 -0
  321. package/dist/types/vfs.js +18 -0
  322. package/dist/utils/format.d.ts +55 -0
  323. package/dist/utils/format.js +152 -0
  324. package/dist/utils/index.d.ts +3 -0
  325. package/dist/utils/index.js +4 -0
  326. package/dist/utils/keybindings.d.ts +33 -0
  327. package/dist/utils/keybindings.js +171 -0
  328. package/dist/utils/language.d.ts +27 -0
  329. package/dist/utils/language.js +222 -0
  330. package/package.json +178 -0
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Agent-related type definitions
3
+ * For multi-agent coordination and presence/visibility in the editor
4
+ */
5
+ import type { CursorPosition } from './editor';
6
+ export type AgentStatus = 'online' | 'offline' | 'busy' | 'error' | 'stalled';
7
+ export type AgentType = 'coder' | 'reviewer' | 'tester' | 'architect' | 'coordinator';
8
+ export interface Agent {
9
+ id: string;
10
+ name: string;
11
+ type: AgentType;
12
+ status: AgentStatus;
13
+ capabilities: AgentCapability[];
14
+ currentTask?: AgentTask;
15
+ workspaceId: string;
16
+ joinedAt: string;
17
+ lastActivity: string;
18
+ avatar?: string;
19
+ color?: string;
20
+ }
21
+ export type AgentCapability = 'code_generation' | 'code_review' | 'testing' | 'refactoring' | 'documentation' | 'architecture' | 'debugging';
22
+ export interface AgentTask {
23
+ id: string;
24
+ description: string;
25
+ startedAt: string;
26
+ estimatedDuration?: number;
27
+ progress: AgentProgress;
28
+ files: string[];
29
+ }
30
+ export interface AgentProgress {
31
+ phase: 'planning' | 'implementing' | 'testing' | 'reviewing' | 'complete';
32
+ percentage: number;
33
+ tokensUsed: number;
34
+ stepsCompleted: number;
35
+ totalSteps?: number;
36
+ toolCalls: number;
37
+ filesModified: number;
38
+ lastUpdate: string;
39
+ }
40
+ export type TeamEvent = WorkStartedEvent | FileModifiedEvent | AgentJoinedEvent | AgentLeftEvent | AgentBlockedEvent | AgentConflictEvent | TaskCompletedEvent | ProgressUpdateEvent;
41
+ export interface BaseTeamEvent {
42
+ id: string;
43
+ timestamp: string;
44
+ workspaceId: string;
45
+ agentId: string;
46
+ agent: Agent;
47
+ }
48
+ export interface WorkStartedEvent extends BaseTeamEvent {
49
+ type: 'work_started';
50
+ task: AgentTask;
51
+ }
52
+ export interface FileModifiedEvent extends BaseTeamEvent {
53
+ type: 'file_modified';
54
+ path: string;
55
+ operation: 'create' | 'update' | 'delete' | 'rename';
56
+ lockAcquired: boolean;
57
+ linesAdded?: number;
58
+ linesRemoved?: number;
59
+ }
60
+ export interface AgentJoinedEvent extends BaseTeamEvent {
61
+ type: 'agent_joined';
62
+ }
63
+ export interface AgentLeftEvent extends BaseTeamEvent {
64
+ type: 'agent_left';
65
+ reason?: string;
66
+ }
67
+ export interface AgentBlockedEvent extends BaseTeamEvent {
68
+ type: 'blocked';
69
+ reason: string;
70
+ blockedBy?: string;
71
+ blockedFiles: string[];
72
+ }
73
+ export interface AgentConflictEvent extends BaseTeamEvent {
74
+ type: 'conflict';
75
+ path: string;
76
+ conflictWith: string;
77
+ resolution: 'pending' | 'resolved' | 'escalated';
78
+ }
79
+ export interface TaskCompletedEvent extends BaseTeamEvent {
80
+ type: 'task_completed';
81
+ task: AgentTask;
82
+ result: 'success' | 'failure' | 'partial';
83
+ summary: string;
84
+ }
85
+ export interface ProgressUpdateEvent extends BaseTeamEvent {
86
+ type: 'progress_update';
87
+ progress: AgentProgress;
88
+ }
89
+ export type ActivityType = 'message' | 'action' | 'error' | 'milestone' | 'system';
90
+ export type ActivitySeverity = 'info' | 'warning' | 'error' | 'success';
91
+ export interface AgentActivity {
92
+ id: string;
93
+ agentId: string;
94
+ agent: Agent;
95
+ timestamp: string;
96
+ type: ActivityType;
97
+ content: string;
98
+ metadata?: ActivityMetadata;
99
+ }
100
+ export interface ActivityMetadata {
101
+ files?: string[];
102
+ duration?: number;
103
+ severity?: ActivitySeverity;
104
+ actionable?: boolean;
105
+ actionLabel?: string;
106
+ actionCallback?: () => void;
107
+ }
108
+ export interface AgentCursor {
109
+ agentId: string;
110
+ agent: Agent;
111
+ filePath: string;
112
+ position: CursorPosition;
113
+ selection?: CursorSelection;
114
+ lastUpdate: string;
115
+ }
116
+ export interface CursorSelection {
117
+ start: CursorPosition;
118
+ end: CursorPosition;
119
+ }
120
+ export type AgentFilter = AgentStatus | 'all';
121
+ export type AgentViewMode = 'grid' | 'list' | 'compact';
122
+ export interface AgentFilterOptions {
123
+ status?: AgentFilter;
124
+ type?: AgentType | 'all';
125
+ hasTask?: boolean;
126
+ workingOnFile?: string;
127
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Agent-related type definitions
3
+ * For multi-agent coordination and presence/visibility in the editor
4
+ */
5
+ export {};
@@ -0,0 +1,137 @@
1
+ /**
2
+ * AI Assistant type definitions
3
+ */
4
+ export type AIRole = 'user' | 'assistant' | 'system' | 'tool';
5
+ export interface AIMessage {
6
+ id: string;
7
+ role: AIRole;
8
+ content: string;
9
+ timestamp: Date;
10
+ /** Tool calls made by the assistant */
11
+ toolCalls?: AIToolCall[];
12
+ /** Result from a tool execution */
13
+ toolResult?: AIToolResult;
14
+ /** Streaming state */
15
+ isStreaming?: boolean;
16
+ /** Error if message failed */
17
+ error?: string;
18
+ /** Metadata like tokens used */
19
+ metadata?: AIMessageMetadata;
20
+ }
21
+ export interface AIToolCall {
22
+ id: string;
23
+ name: string;
24
+ arguments: Record<string, unknown>;
25
+ }
26
+ export interface AIToolResult {
27
+ toolCallId: string;
28
+ result: unknown;
29
+ error?: string;
30
+ }
31
+ export interface AIMessageMetadata {
32
+ model?: string;
33
+ tokensUsed?: number;
34
+ latencyMs?: number;
35
+ finishReason?: 'stop' | 'length' | 'tool_calls' | 'error';
36
+ }
37
+ export interface AIConversation {
38
+ id: string;
39
+ title: string;
40
+ messages: AIMessage[];
41
+ createdAt: Date;
42
+ updatedAt: Date;
43
+ /** Context attached to this conversation */
44
+ context?: AIContext;
45
+ }
46
+ export interface AIContext {
47
+ /** Currently open files */
48
+ openFiles?: string[];
49
+ /** Selected text from editor */
50
+ selection?: {
51
+ path: string;
52
+ content: string;
53
+ startLine: number;
54
+ endLine: number;
55
+ };
56
+ /** Workspace metadata */
57
+ workspace?: {
58
+ id: string;
59
+ name: string;
60
+ rootPath: string;
61
+ };
62
+ /** Custom context from plugins */
63
+ custom?: Record<string, unknown>;
64
+ }
65
+ /**
66
+ * AI Tool definition for registration
67
+ */
68
+ export interface AITool {
69
+ name: string;
70
+ description: string;
71
+ parameters: AIToolParameters;
72
+ handler: AIToolHandler;
73
+ }
74
+ export interface AIToolParameters {
75
+ type: 'object';
76
+ properties: Record<string, AIToolProperty>;
77
+ required?: string[];
78
+ }
79
+ export interface AIToolProperty {
80
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
81
+ description?: string;
82
+ enum?: string[];
83
+ items?: AIToolProperty;
84
+ properties?: Record<string, AIToolProperty>;
85
+ }
86
+ export type AIToolHandler = (args: Record<string, unknown>, context: AIContext) => Promise<unknown>;
87
+ /**
88
+ * AI Panel configuration
89
+ */
90
+ export interface AIPanelConfig {
91
+ /** API endpoint for chat */
92
+ endpoint?: string;
93
+ /** Model to use */
94
+ model?: string;
95
+ /** System prompt */
96
+ systemPrompt?: string;
97
+ /** Available tools */
98
+ tools?: AITool[];
99
+ /** Max tokens for response */
100
+ maxTokens?: number;
101
+ /** Temperature for response */
102
+ temperature?: number;
103
+ /** Enable streaming responses */
104
+ streaming?: boolean;
105
+ /** Custom headers for API requests */
106
+ headers?: Record<string, string>;
107
+ }
108
+ /**
109
+ * AI Suggestion for code completion or inline hints
110
+ */
111
+ export interface AISuggestion {
112
+ id: string;
113
+ type: 'completion' | 'refactor' | 'fix' | 'explain';
114
+ content: string;
115
+ description?: string;
116
+ range?: {
117
+ startLine: number;
118
+ startColumn: number;
119
+ endLine: number;
120
+ endColumn: number;
121
+ };
122
+ confidence?: number;
123
+ }
124
+ /**
125
+ * AI editing session for collaborative editing
126
+ */
127
+ export interface AIEditSession {
128
+ id: string;
129
+ conversationId: string;
130
+ filePath: string;
131
+ status: 'pending' | 'editing' | 'reviewing' | 'applied' | 'rejected';
132
+ originalContent: string;
133
+ proposedContent?: string;
134
+ diff?: string;
135
+ startedAt: Date;
136
+ completedAt?: Date;
137
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * AI Assistant type definitions
3
+ */
4
+ export {};
@@ -0,0 +1,222 @@
1
+ /**
2
+ * CRDT (Conflict-free Replicated Data Types) type definitions
3
+ * for collaborative editing with users and AI
4
+ */
5
+ export interface CollaborationConfig {
6
+ /** WebSocket server URL for Yjs sync */
7
+ serverUrl: string;
8
+ /** Room/document identifier */
9
+ roomId: string;
10
+ /** Current user information */
11
+ user: CollaborationUser;
12
+ /** Enable awareness (cursors, selections) */
13
+ awareness?: boolean;
14
+ /** Reconnection settings */
15
+ reconnect?: {
16
+ maxRetries: number;
17
+ baseDelay: number;
18
+ maxDelay: number;
19
+ };
20
+ }
21
+ export interface CollaborationUser {
22
+ id: string;
23
+ name: string;
24
+ color: string;
25
+ /** Whether this is an AI participant */
26
+ isAI?: boolean;
27
+ /** Avatar URL or initials */
28
+ avatar?: string;
29
+ }
30
+ export interface CollaborationState {
31
+ /** Connection status */
32
+ status: 'connecting' | 'connected' | 'disconnected' | 'error';
33
+ /** Error message if status is 'error' */
34
+ error?: string;
35
+ /** Connected users in the room */
36
+ users: CollaborationUser[];
37
+ /** Synced document state */
38
+ synced: boolean;
39
+ /** Pending local changes */
40
+ pendingChanges: number;
41
+ }
42
+ export interface CollaboratorCursor {
43
+ userId: string;
44
+ user: CollaborationUser;
45
+ position: {
46
+ line: number;
47
+ column: number;
48
+ };
49
+ selection?: {
50
+ anchor: {
51
+ line: number;
52
+ column: number;
53
+ };
54
+ head: {
55
+ line: number;
56
+ column: number;
57
+ };
58
+ };
59
+ lastActivity: Date;
60
+ }
61
+ export interface CollaboratorAwareness {
62
+ userId: string;
63
+ user: CollaborationUser;
64
+ cursor?: CollaboratorCursor['position'];
65
+ selection?: CollaboratorCursor['selection'];
66
+ /** Currently viewing file */
67
+ viewingFile?: string;
68
+ /** Currently editing file */
69
+ editingFile?: string;
70
+ /** Idle/active state */
71
+ state: 'active' | 'idle' | 'away';
72
+ }
73
+ /**
74
+ * Document operation for CRDT sync
75
+ */
76
+ export interface DocumentOperation {
77
+ type: 'insert' | 'delete' | 'retain';
78
+ position?: number;
79
+ content?: string;
80
+ length?: number;
81
+ attributes?: Record<string, unknown>;
82
+ }
83
+ /**
84
+ * Snapshot of document state at a point in time
85
+ */
86
+ export interface DocumentSnapshot {
87
+ id: string;
88
+ documentId: string;
89
+ content: string;
90
+ version: number;
91
+ createdAt: Date;
92
+ createdBy: CollaborationUser;
93
+ /** Reason for snapshot */
94
+ reason?: 'manual' | 'auto' | 'ai_edit' | 'checkpoint';
95
+ }
96
+ /**
97
+ * AI collaboration session
98
+ */
99
+ export interface AICollaborationSession {
100
+ id: string;
101
+ documentId: string;
102
+ status: 'pending' | 'active' | 'paused' | 'completed' | 'cancelled';
103
+ /** AI user participating in this session */
104
+ aiUser: CollaborationUser;
105
+ /** Human users in the session */
106
+ humanUsers: CollaborationUser[];
107
+ /** What the AI is currently doing */
108
+ currentTask?: string;
109
+ /** Proposed changes waiting for approval */
110
+ pendingChanges?: AIProposedChange[];
111
+ startedAt: Date;
112
+ updatedAt: Date;
113
+ }
114
+ export interface AIProposedChange {
115
+ id: string;
116
+ sessionId: string;
117
+ type: 'insert' | 'delete' | 'replace';
118
+ range: {
119
+ startLine: number;
120
+ startColumn: number;
121
+ endLine: number;
122
+ endColumn: number;
123
+ };
124
+ originalContent: string;
125
+ proposedContent: string;
126
+ explanation?: string;
127
+ status: 'pending' | 'approved' | 'rejected' | 'modified';
128
+ reviewedBy?: string;
129
+ reviewedAt?: Date;
130
+ }
131
+ /**
132
+ * Conflict resolution strategy
133
+ */
134
+ export type ConflictResolution = 'last_write_wins' | 'first_write_wins' | 'manual' | 'ai_assisted';
135
+ /**
136
+ * Undo/Redo manager for CRDT
137
+ */
138
+ export interface UndoManager {
139
+ canUndo: boolean;
140
+ canRedo: boolean;
141
+ undoStack: UndoItem[];
142
+ redoStack: UndoItem[];
143
+ }
144
+ export interface UndoItem {
145
+ id: string;
146
+ operations: DocumentOperation[];
147
+ userId: string;
148
+ timestamp: Date;
149
+ description?: string;
150
+ }
151
+ /**
152
+ * Presence information for real-time collaboration
153
+ */
154
+ export interface PresenceState {
155
+ [clientId: string]: CollaboratorAwareness;
156
+ }
157
+ /**
158
+ * Events emitted by the collaboration system
159
+ */
160
+ export type CollaborationEvent = {
161
+ type: 'connected';
162
+ users: CollaborationUser[];
163
+ } | {
164
+ type: 'disconnected';
165
+ reason?: string;
166
+ } | {
167
+ type: 'user_joined';
168
+ user: CollaborationUser;
169
+ } | {
170
+ type: 'user_left';
171
+ userId: string;
172
+ } | {
173
+ type: 'cursor_moved';
174
+ cursor: CollaboratorCursor;
175
+ } | {
176
+ type: 'selection_changed';
177
+ userId: string;
178
+ selection: CollaboratorCursor['selection'];
179
+ } | {
180
+ type: 'document_changed';
181
+ operations: DocumentOperation[];
182
+ origin: string;
183
+ } | {
184
+ type: 'sync_complete';
185
+ version: number;
186
+ } | {
187
+ type: 'conflict';
188
+ operations: DocumentOperation[];
189
+ resolution: ConflictResolution;
190
+ } | {
191
+ type: 'ai_edit_started';
192
+ session: AICollaborationSession;
193
+ } | {
194
+ type: 'ai_edit_proposed';
195
+ change: AIProposedChange;
196
+ } | {
197
+ type: 'ai_edit_completed';
198
+ sessionId: string;
199
+ } | {
200
+ type: 'snapshot_created';
201
+ snapshot: DocumentSnapshot;
202
+ };
203
+ export type CollaborationEventHandler = (event: CollaborationEvent) => void;
204
+ /**
205
+ * Options for Yjs document initialization
206
+ */
207
+ export interface YjsDocumentOptions {
208
+ /** Document ID for multi-document support */
209
+ documentId: string;
210
+ /** Initial content if document is new */
211
+ initialContent?: string;
212
+ /** Enable undo manager */
213
+ undoManager?: boolean;
214
+ /** Capture timeout for undo grouping (ms) */
215
+ undoCaptureTimeout?: number;
216
+ /** Enable persistence */
217
+ persistence?: {
218
+ enabled: boolean;
219
+ /** IndexedDB database name */
220
+ dbName?: string;
221
+ };
222
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CRDT (Conflict-free Replicated Data Types) type definitions
3
+ * for collaborative editing with users and AI
4
+ */
5
+ export {};
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Editor-related type definitions
3
+ */
4
+ export interface EditorTab {
5
+ id: string;
6
+ path: string;
7
+ name: string;
8
+ content: string;
9
+ language: string;
10
+ isDirty: boolean;
11
+ cursorPosition?: CursorPosition;
12
+ scrollPosition?: ScrollPosition;
13
+ /** Indicates if this tab is being edited by AI */
14
+ aiEditing?: boolean;
15
+ /** Version for CRDT conflict resolution */
16
+ version?: number;
17
+ }
18
+ export interface CursorPosition {
19
+ line: number;
20
+ column: number;
21
+ }
22
+ export interface ScrollPosition {
23
+ top: number;
24
+ left: number;
25
+ }
26
+ export interface EditorPreferences {
27
+ fontSize: number;
28
+ fontFamily: string;
29
+ tabSize: number;
30
+ insertSpaces: boolean;
31
+ wordWrap: 'off' | 'on' | 'wordWrapColumn';
32
+ wordWrapColumn: number;
33
+ lineNumbers: 'on' | 'off' | 'relative';
34
+ minimap: boolean;
35
+ bracketMatching: boolean;
36
+ autoCloseBrackets: boolean;
37
+ highlightActiveLine: boolean;
38
+ renderWhitespace: 'none' | 'boundary' | 'all';
39
+ theme: string;
40
+ }
41
+ export type SplitMode = 'none' | 'horizontal' | 'vertical';
42
+ export interface EditorSelection {
43
+ anchor: CursorPosition;
44
+ head: CursorPosition;
45
+ }
46
+ export interface EditorViewState {
47
+ cursorPosition: CursorPosition;
48
+ scrollPosition: ScrollPosition;
49
+ selections: EditorSelection[];
50
+ foldedRanges: number[];
51
+ }
52
+ export declare const DEFAULT_EDITOR_PREFERENCES: EditorPreferences;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Editor-related type definitions
3
+ */
4
+ export const DEFAULT_EDITOR_PREFERENCES = {
5
+ fontSize: 14,
6
+ fontFamily: 'JetBrains Mono',
7
+ tabSize: 2,
8
+ insertSpaces: false,
9
+ wordWrap: 'off',
10
+ wordWrapColumn: 80,
11
+ lineNumbers: 'on',
12
+ minimap: false,
13
+ bracketMatching: true,
14
+ autoCloseBrackets: true,
15
+ highlightActiveLine: true,
16
+ renderWhitespace: 'none',
17
+ theme: 'nocturnium'
18
+ };
@@ -0,0 +1,133 @@
1
+ /**
2
+ * IDE Event system type definitions
3
+ */
4
+ export interface IDEEvent<T = unknown> {
5
+ type: IDEEventType;
6
+ payload: T;
7
+ timestamp: number;
8
+ source?: string;
9
+ }
10
+ export type IDEEventType = 'file:open' | 'file:close' | 'file:save' | 'file:create' | 'file:delete' | 'file:rename' | 'file:move' | 'editor:change' | 'editor:cursor' | 'editor:selection' | 'editor:focus' | 'editor:blur' | 'editor:scroll' | 'tab:open' | 'tab:close' | 'tab:switch' | 'tab:reorder' | 'search:query' | 'search:result' | 'search:navigate' | 'command:execute' | 'command:register' | 'command:unregister' | 'panel:toggle' | 'panel:resize' | 'panel:focus' | 'layout:change' | 'layout:reset' | 'ai:message' | 'ai:tool_call' | 'ai:edit_start' | 'ai:edit_complete' | 'ai:suggestion' | 'collab:connect' | 'collab:disconnect' | 'collab:user_join' | 'collab:user_leave' | 'collab:cursor' | 'collab:sync' | 'plugin:load' | 'plugin:unload' | 'plugin:error' | 'plugin:message';
11
+ export interface IDEAction {
12
+ id: string;
13
+ label: string;
14
+ description?: string;
15
+ icon?: string;
16
+ keybinding?: string[];
17
+ when?: string;
18
+ handler: () => void | Promise<void>;
19
+ }
20
+ export interface IDECommand extends IDEAction {
21
+ category?: string;
22
+ }
23
+ export interface IDEKeybinding {
24
+ keys: string[];
25
+ command: string;
26
+ when?: string;
27
+ args?: Record<string, unknown>;
28
+ }
29
+ /**
30
+ * Event bus for IDE-wide communication
31
+ */
32
+ export interface EventBus {
33
+ emit<T>(type: IDEEventType, payload: T): void;
34
+ on<T>(type: IDEEventType, handler: (event: IDEEvent<T>) => void): () => void;
35
+ once<T>(type: IDEEventType, handler: (event: IDEEvent<T>) => void): () => void;
36
+ off(type: IDEEventType, handler: (event: IDEEvent) => void): void;
37
+ }
38
+ /**
39
+ * File event payloads
40
+ */
41
+ export interface FileOpenPayload {
42
+ path: string;
43
+ content?: string;
44
+ language?: string;
45
+ }
46
+ export interface FileClosePayload {
47
+ path: string;
48
+ saved: boolean;
49
+ }
50
+ export interface FileSavePayload {
51
+ path: string;
52
+ content: string;
53
+ }
54
+ export interface FileCreatePayload {
55
+ path: string;
56
+ isDirectory: boolean;
57
+ content?: string;
58
+ }
59
+ export interface FileDeletePayload {
60
+ path: string;
61
+ isDirectory: boolean;
62
+ }
63
+ export interface FileRenamePayload {
64
+ oldPath: string;
65
+ newPath: string;
66
+ }
67
+ /**
68
+ * Editor event payloads
69
+ */
70
+ export interface EditorChangePayload {
71
+ path: string;
72
+ content: string;
73
+ changes: {
74
+ from: number;
75
+ to: number;
76
+ insert: string;
77
+ }[];
78
+ }
79
+ export interface EditorCursorPayload {
80
+ path: string;
81
+ line: number;
82
+ column: number;
83
+ }
84
+ export interface EditorSelectionPayload {
85
+ path: string;
86
+ selections: {
87
+ anchor: {
88
+ line: number;
89
+ column: number;
90
+ };
91
+ head: {
92
+ line: number;
93
+ column: number;
94
+ };
95
+ }[];
96
+ }
97
+ /**
98
+ * Command event payloads
99
+ */
100
+ export interface CommandExecutePayload {
101
+ commandId: string;
102
+ args?: Record<string, unknown>;
103
+ source?: 'keybinding' | 'menu' | 'palette' | 'api';
104
+ }
105
+ /**
106
+ * AI event payloads
107
+ */
108
+ export interface AIMessagePayload {
109
+ conversationId: string;
110
+ messageId: string;
111
+ role: 'user' | 'assistant' | 'system' | 'tool';
112
+ content: string;
113
+ }
114
+ export interface AIEditPayload {
115
+ conversationId: string;
116
+ path: string;
117
+ type: 'start' | 'progress' | 'complete' | 'cancel';
118
+ content?: string;
119
+ }
120
+ /**
121
+ * Collaboration event payloads
122
+ */
123
+ export interface CollabUserPayload {
124
+ userId: string;
125
+ userName: string;
126
+ isAI?: boolean;
127
+ }
128
+ export interface CollabCursorPayload {
129
+ userId: string;
130
+ path: string;
131
+ line: number;
132
+ column: number;
133
+ }