@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,10 @@
1
+ /**
2
+ * Store exports with namespacing to avoid conflicts
3
+ */
4
+ export { tabs, activeTabId, activeTab, splitMode, preferences, recentFiles, loading, dirtyTabs, hasDirtyTabs, openFile, closeTab, forceCloseTab, closeAllTabs, closeOtherTabs, setActiveTab, updateContent, markSaved, reorderTabs, setSplitMode, updatePreferences, resetPreferences, getTab, getTabByPath, nextTab, prevTab, setLoading, error as editorError, setError as setEditorError, updateCursor as updateEditorCursor, setAIEditing } from './editor.svelte';
5
+ export { conversations, activeConversationId, activeConversation, messages, tools, editSessions, activeEditSessions, suggestions, isStreaming, isPanelOpen, createConversation, setActiveConversation, deleteConversation, addMessage, updateMessage, sendMessage, registerTool, unregisterTool, updateConfig, togglePanel, openPanel, closePanel, startEditSession, updateEditSession, completeEditSession, resolveEditSession, addSuggestion, removeSuggestion, clearSuggestions, updateContext, config as aiConfig, error as aiError, clearError as clearAIError } from './ai.svelte';
6
+ export { proposals, instances, activeInstances, commands, panels, connected, loadingProposals, loadingInstance, draftProposals, reviewingProposals, deployedProposals, connect, fetchProposals, createProposal, submitProposal, loadPlugin, unloadPlugin, registerCommand, registerPanel, executeCommand, getProposal, getInstance, clearError as clearPluginError, error as pluginError, disconnect as disconnectPlugins, onEvent as onPluginEvent } from './plugin.svelte';
7
+ export { status, synced, users, cursors, awareness, aiSessions, activeAISessions, pendingChanges, snapshots, localUser, isConnected, otherUsers, initialize, setStatus, setSynced, addUser, removeUser, updateAwareness, setLocalCursor, setLocalAwareness, startAISession, updateAISession, setAITask, proposeAIChange, reviewAIChange, completeAISession, cancelAISession, createSnapshot, getDocumentSnapshots, reset, getUserColor, config as collabConfig, error as collabError, updateCursor as updateCollabCursor, disconnect as disconnectCollab, onEvent as onCollabEvent } from './collaboration.svelte';
8
+ export * from './layout.svelte';
9
+ export { workspace, workspaceLoading, files, fileTree, locks, dirtyFiles, activeTransactions, syncing, getWorkspace, getWorkspaceLoading, getFiles, getFileTree, getFile, getLocks, getLock, getLockStatus, isLocked, isLockedByMe, isLockedByOther, getMyLocks, getOtherLocks, getDirtyFiles, isDirty, getActiveTransactions, getTransactionHistory, getSyncing, getVersion, getReconnectAttempts, getLockedFiles, getMyLockedFiles, getDirectories, getFilesInDirectory, initialize as initializeVFS, loadWorkspace, updateFileInfo, removeFileInfo, markDirty, markClean, setFiles, setLock, removeLock, setLockStatus, setLocks, acquireLock, releaseLock, releaseAllMyLocks, startTransaction, completeTransaction, setSyncing, connected as vfsConnected, error as vfsError, clearError as clearVFSError, connect as connectVFS, disconnect as disconnectVFS, onEvent as onVFSEvent, reset as resetVFS } from './vfs.svelte';
10
+ export { agents, onlineAgents, busyAgents, events as agentEvents, activities, cursors as agentCursors, selectedAgent, filter as agentFilter, getAgents, getAgent, getOnlineAgents, getOfflineAgents, getBusyAgents, getStalledAgents, getAgentsByType, getAgentsWorkingOnFile, getEvents as getAgentEvents, getActivities, getActivitiesForAgent, getRecentActivities, getCursors as getAgentCursors, getCursor as getAgentCursor, getCursorsForFile, getSelectedAgent, getFilter as getAgentFilter, getFilteredAgents, getActiveTasksCount, getTotalProgress, getAgentCount, getOnlineCount, addAgent, removeAgent, updateAgent, setAgentStatus, setAgentTask, updateAgentProgress, completeAgentTask, updateCursor as updateAgentCursor, removeCursor as removeAgentCursor, clearCursorsForFile, addEvent as addAgentEvent, onTeamEvent, addActivity, selectAgent, setFilter as setAgentFilter, clearActivities, clearEvents as clearAgentEvents, handleVFSEvent, addMockAgents, connected as agentsConnected, error as agentsError, setConnected as setAgentsConnected, setError as setAgentsError, clearError as clearAgentsError, reset as resetAgents } from './agents.svelte';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Store exports with namespacing to avoid conflicts
3
+ */
4
+ // Editor store - namespaced exports
5
+ export { tabs, activeTabId, activeTab, splitMode, preferences, recentFiles, loading, dirtyTabs, hasDirtyTabs, openFile, closeTab, forceCloseTab, closeAllTabs, closeOtherTabs, setActiveTab, updateContent, markSaved, reorderTabs, setSplitMode, updatePreferences, resetPreferences, getTab, getTabByPath, nextTab, prevTab, setLoading,
6
+ // Renamed to avoid conflict
7
+ error as editorError, setError as setEditorError, updateCursor as updateEditorCursor, setAIEditing } from './editor.svelte';
8
+ // AI store
9
+ export { conversations, activeConversationId, activeConversation, messages, tools, editSessions, activeEditSessions, suggestions, isStreaming, isPanelOpen, createConversation, setActiveConversation, deleteConversation, addMessage, updateMessage, sendMessage, registerTool, unregisterTool, updateConfig, togglePanel, openPanel, closePanel, startEditSession, updateEditSession, completeEditSession, resolveEditSession, addSuggestion, removeSuggestion, clearSuggestions, updateContext,
10
+ // Renamed to avoid conflicts
11
+ config as aiConfig, error as aiError, clearError as clearAIError } from './ai.svelte';
12
+ // Plugin store
13
+ export { proposals, instances, activeInstances, commands, panels, connected, loadingProposals, loadingInstance, draftProposals, reviewingProposals, deployedProposals, connect, fetchProposals, createProposal, submitProposal, loadPlugin, unloadPlugin, registerCommand, registerPanel, executeCommand, getProposal, getInstance, clearError as clearPluginError,
14
+ // Renamed to avoid conflicts
15
+ error as pluginError, disconnect as disconnectPlugins, onEvent as onPluginEvent } from './plugin.svelte';
16
+ // Collaboration store
17
+ export { status, synced, users, cursors, awareness, aiSessions, activeAISessions, pendingChanges, snapshots, localUser, isConnected, otherUsers, initialize, setStatus, setSynced, addUser, removeUser, updateAwareness, setLocalCursor, setLocalAwareness, startAISession, updateAISession, setAITask, proposeAIChange, reviewAIChange, completeAISession, cancelAISession, createSnapshot, getDocumentSnapshots, reset, getUserColor,
18
+ // Renamed to avoid conflicts
19
+ config as collabConfig, error as collabError, updateCursor as updateCollabCursor, disconnect as disconnectCollab, onEvent as onCollabEvent } from './collaboration.svelte';
20
+ // Layout store - no conflicts
21
+ export * from './layout.svelte';
22
+ // VFS store
23
+ export { workspace, workspaceLoading, files, fileTree, locks, dirtyFiles, activeTransactions, syncing, getWorkspace, getWorkspaceLoading, getFiles, getFileTree, getFile, getLocks, getLock, getLockStatus, isLocked, isLockedByMe, isLockedByOther, getMyLocks, getOtherLocks, getDirtyFiles, isDirty, getActiveTransactions, getTransactionHistory, getSyncing, getVersion, getReconnectAttempts, getLockedFiles, getMyLockedFiles, getDirectories, getFilesInDirectory, initialize as initializeVFS, loadWorkspace, updateFileInfo, removeFileInfo, markDirty, markClean, setFiles, setLock, removeLock, setLockStatus, setLocks, acquireLock, releaseLock, releaseAllMyLocks, startTransaction, completeTransaction, setSyncing,
24
+ // Renamed to avoid conflicts
25
+ connected as vfsConnected, error as vfsError, clearError as clearVFSError, connect as connectVFS, disconnect as disconnectVFS, onEvent as onVFSEvent, reset as resetVFS } from './vfs.svelte';
26
+ // Agents store
27
+ export { agents, onlineAgents, busyAgents, events as agentEvents, activities, cursors as agentCursors, selectedAgent, filter as agentFilter, getAgents, getAgent, getOnlineAgents, getOfflineAgents, getBusyAgents, getStalledAgents, getAgentsByType, getAgentsWorkingOnFile, getEvents as getAgentEvents, getActivities, getActivitiesForAgent, getRecentActivities, getCursors as getAgentCursors, getCursor as getAgentCursor, getCursorsForFile, getSelectedAgent, getFilter as getAgentFilter, getFilteredAgents, getActiveTasksCount, getTotalProgress, getAgentCount, getOnlineCount, addAgent, removeAgent, updateAgent, setAgentStatus, setAgentTask, updateAgentProgress, completeAgentTask, updateCursor as updateAgentCursor, removeCursor as removeAgentCursor, clearCursorsForFile, addEvent as addAgentEvent, onTeamEvent, addActivity, selectAgent, setFilter as setAgentFilter, clearActivities, clearEvents as clearAgentEvents, handleVFSEvent, addMockAgents,
28
+ // Renamed to avoid conflicts
29
+ connected as agentsConnected, error as agentsError, setConnected as setAgentsConnected, setError as setAgentsError, clearError as clearAgentsError, reset as resetAgents } from './agents.svelte';
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Layout store using Svelte 5 runes
3
+ * Manages IDE panel visibility and sizes
4
+ *
5
+ * Note: Svelte 5 modules cannot directly export $derived values.
6
+ * We use getter functions to expose reactive derived state.
7
+ */
8
+ export declare function getLeftSidebarVisible(): boolean;
9
+ export declare function getLeftSidebarWidth(): number;
10
+ export declare function getLeftSidebarActivePanel(): string;
11
+ export declare function getRightSidebarVisible(): boolean;
12
+ export declare function getRightSidebarWidth(): number;
13
+ export declare function getRightSidebarActivePanel(): string;
14
+ export declare function getBottomPanelVisible(): boolean;
15
+ export declare function getBottomPanelHeight(): number;
16
+ export declare function getBottomPanelActiveTab(): string;
17
+ export declare function getActivityBarPosition(): 'left' | 'hidden';
18
+ export declare function getStatusBarVisible(): boolean;
19
+ export declare function getIsFullScreen(): boolean;
20
+ export declare function getZenMode(): boolean;
21
+ export declare function getCommandPaletteOpen(): boolean;
22
+ export declare function getSearchPanelOpen(): boolean;
23
+ export declare function getSettingsOpen(): boolean;
24
+ export declare function getEditorAreaStyle(): {
25
+ marginLeft: string;
26
+ marginRight: string;
27
+ marginBottom: string;
28
+ };
29
+ /**
30
+ * Toggle left sidebar visibility
31
+ */
32
+ export declare function toggleLeftSidebar(): void;
33
+ /**
34
+ * Show left sidebar
35
+ */
36
+ export declare function showLeftSidebar(): void;
37
+ /**
38
+ * Hide left sidebar
39
+ */
40
+ export declare function hideLeftSidebar(): void;
41
+ /**
42
+ * Set left sidebar width
43
+ */
44
+ export declare function setLeftSidebarWidth(width: number): void;
45
+ /**
46
+ * Set left sidebar active panel
47
+ */
48
+ export declare function setLeftSidebarPanel(panel: string): void;
49
+ /**
50
+ * Toggle right sidebar visibility
51
+ */
52
+ export declare function toggleRightSidebar(): void;
53
+ /**
54
+ * Show right sidebar
55
+ */
56
+ export declare function showRightSidebar(): void;
57
+ /**
58
+ * Hide right sidebar
59
+ */
60
+ export declare function hideRightSidebar(): void;
61
+ /**
62
+ * Set right sidebar width
63
+ */
64
+ export declare function setRightSidebarWidth(width: number): void;
65
+ /**
66
+ * Set right sidebar active panel
67
+ */
68
+ export declare function setRightSidebarPanel(panel: string): void;
69
+ /**
70
+ * Toggle bottom panel visibility
71
+ */
72
+ export declare function toggleBottomPanel(): void;
73
+ /**
74
+ * Show bottom panel
75
+ */
76
+ export declare function showBottomPanel(): void;
77
+ /**
78
+ * Hide bottom panel
79
+ */
80
+ export declare function hideBottomPanel(): void;
81
+ /**
82
+ * Set bottom panel height
83
+ */
84
+ export declare function setBottomPanelHeight(height: number): void;
85
+ /**
86
+ * Set bottom panel active tab
87
+ */
88
+ export declare function setBottomPanelTab(tab: string): void;
89
+ /**
90
+ * Toggle activity bar visibility
91
+ */
92
+ export declare function toggleActivityBar(): void;
93
+ /**
94
+ * Toggle status bar visibility
95
+ */
96
+ export declare function toggleStatusBar(): void;
97
+ /**
98
+ * Toggle full screen mode
99
+ */
100
+ export declare function toggleFullScreen(): void;
101
+ /**
102
+ * Toggle zen mode (distraction-free editing)
103
+ */
104
+ export declare function toggleZenMode(): void;
105
+ /**
106
+ * Exit zen mode
107
+ */
108
+ export declare function exitZenMode(): void;
109
+ /**
110
+ * Open command palette
111
+ */
112
+ export declare function openCommandPalette(): void;
113
+ /**
114
+ * Close command palette
115
+ */
116
+ export declare function closeCommandPalette(): void;
117
+ /**
118
+ * Toggle command palette
119
+ */
120
+ export declare function toggleCommandPalette(): void;
121
+ /**
122
+ * Open search panel
123
+ */
124
+ export declare function openSearchPanel(): void;
125
+ /**
126
+ * Close search panel
127
+ */
128
+ export declare function closeSearchPanel(): void;
129
+ /**
130
+ * Toggle search panel
131
+ */
132
+ export declare function toggleSearchPanel(): void;
133
+ /**
134
+ * Open settings
135
+ */
136
+ export declare function openSettings(): void;
137
+ /**
138
+ * Close settings
139
+ */
140
+ export declare function closeSettings(): void;
141
+ /**
142
+ * Toggle settings
143
+ */
144
+ export declare function toggleSettings(): void;
145
+ /**
146
+ * Reset layout to defaults
147
+ */
148
+ export declare function resetLayout(): void;
149
+ /**
150
+ * Focus the AI panel
151
+ */
152
+ export declare function focusAIPanel(): void;
153
+ /**
154
+ * Focus the explorer panel
155
+ */
156
+ export declare function focusExplorer(): void;
157
+ /**
158
+ * Focus the terminal
159
+ */
160
+ export declare function focusTerminal(): void;
161
+ /**
162
+ * Get layout constraints
163
+ */
164
+ export declare const constraints: {
165
+ sidebarMinWidth: number;
166
+ sidebarMaxWidth: number;
167
+ sidebarDefaultWidth: number;
168
+ panelMinHeight: number;
169
+ panelMaxHeight: number;
170
+ panelDefaultHeight: number;
171
+ };
@@ -0,0 +1,351 @@
1
+ /**
2
+ * Layout store using Svelte 5 runes
3
+ * Manages IDE panel visibility and sizes
4
+ *
5
+ * Note: Svelte 5 modules cannot directly export $derived values.
6
+ * We use getter functions to expose reactive derived state.
7
+ */
8
+ // Default sizes
9
+ const SIDEBAR_DEFAULT_WIDTH = 260;
10
+ const SIDEBAR_MIN_WIDTH = 180;
11
+ const SIDEBAR_MAX_WIDTH = 500;
12
+ const PANEL_DEFAULT_HEIGHT = 200;
13
+ const PANEL_MIN_HEIGHT = 100;
14
+ const PANEL_MAX_HEIGHT = 500;
15
+ // Reactive state
16
+ let state = $state({
17
+ leftSidebarVisible: true,
18
+ leftSidebarWidth: SIDEBAR_DEFAULT_WIDTH,
19
+ leftSidebarActivePanel: 'explorer',
20
+ rightSidebarVisible: false,
21
+ rightSidebarWidth: SIDEBAR_DEFAULT_WIDTH,
22
+ rightSidebarActivePanel: 'ai',
23
+ bottomPanelVisible: false,
24
+ bottomPanelHeight: PANEL_DEFAULT_HEIGHT,
25
+ bottomPanelActiveTab: 'terminal',
26
+ activityBarPosition: 'left',
27
+ statusBarVisible: true,
28
+ isFullScreen: false,
29
+ zenMode: false,
30
+ commandPaletteOpen: false,
31
+ searchPanelOpen: false,
32
+ settingsOpen: false
33
+ });
34
+ // Getter functions for derived values (Svelte 5 module-safe)
35
+ export function getLeftSidebarVisible() {
36
+ return state.leftSidebarVisible && !state.zenMode;
37
+ }
38
+ export function getLeftSidebarWidth() {
39
+ return state.leftSidebarWidth;
40
+ }
41
+ export function getLeftSidebarActivePanel() {
42
+ return state.leftSidebarActivePanel;
43
+ }
44
+ export function getRightSidebarVisible() {
45
+ return state.rightSidebarVisible && !state.zenMode;
46
+ }
47
+ export function getRightSidebarWidth() {
48
+ return state.rightSidebarWidth;
49
+ }
50
+ export function getRightSidebarActivePanel() {
51
+ return state.rightSidebarActivePanel;
52
+ }
53
+ export function getBottomPanelVisible() {
54
+ return state.bottomPanelVisible && !state.zenMode;
55
+ }
56
+ export function getBottomPanelHeight() {
57
+ return state.bottomPanelHeight;
58
+ }
59
+ export function getBottomPanelActiveTab() {
60
+ return state.bottomPanelActiveTab;
61
+ }
62
+ export function getActivityBarPosition() {
63
+ return state.activityBarPosition;
64
+ }
65
+ export function getStatusBarVisible() {
66
+ return state.statusBarVisible && !state.zenMode;
67
+ }
68
+ export function getIsFullScreen() {
69
+ return state.isFullScreen;
70
+ }
71
+ export function getZenMode() {
72
+ return state.zenMode;
73
+ }
74
+ export function getCommandPaletteOpen() {
75
+ return state.commandPaletteOpen;
76
+ }
77
+ export function getSearchPanelOpen() {
78
+ return state.searchPanelOpen;
79
+ }
80
+ export function getSettingsOpen() {
81
+ return state.settingsOpen;
82
+ }
83
+ // Computed editor area dimensions
84
+ export function getEditorAreaStyle() {
85
+ const left = state.leftSidebarVisible && !state.zenMode ? state.leftSidebarWidth : 0;
86
+ const right = state.rightSidebarVisible && !state.zenMode ? state.rightSidebarWidth : 0;
87
+ const bottom = state.bottomPanelVisible && !state.zenMode ? state.bottomPanelHeight : 0;
88
+ const activityBar = state.activityBarPosition === 'left' && !state.zenMode ? 48 : 0;
89
+ const statusBar = state.statusBarVisible && !state.zenMode ? 24 : 0;
90
+ return {
91
+ marginLeft: `${activityBar + left}px`,
92
+ marginRight: `${right}px`,
93
+ marginBottom: `${bottom + statusBar}px`
94
+ };
95
+ }
96
+ /**
97
+ * Toggle left sidebar visibility
98
+ */
99
+ export function toggleLeftSidebar() {
100
+ state.leftSidebarVisible = !state.leftSidebarVisible;
101
+ }
102
+ /**
103
+ * Show left sidebar
104
+ */
105
+ export function showLeftSidebar() {
106
+ state.leftSidebarVisible = true;
107
+ }
108
+ /**
109
+ * Hide left sidebar
110
+ */
111
+ export function hideLeftSidebar() {
112
+ state.leftSidebarVisible = false;
113
+ }
114
+ /**
115
+ * Set left sidebar width
116
+ */
117
+ export function setLeftSidebarWidth(width) {
118
+ state.leftSidebarWidth = Math.max(SIDEBAR_MIN_WIDTH, Math.min(SIDEBAR_MAX_WIDTH, width));
119
+ }
120
+ /**
121
+ * Set left sidebar active panel
122
+ */
123
+ export function setLeftSidebarPanel(panel) {
124
+ if (state.leftSidebarActivePanel === panel && state.leftSidebarVisible) {
125
+ // Toggle off if clicking same panel
126
+ state.leftSidebarVisible = false;
127
+ }
128
+ else {
129
+ state.leftSidebarActivePanel = panel;
130
+ state.leftSidebarVisible = true;
131
+ }
132
+ }
133
+ /**
134
+ * Toggle right sidebar visibility
135
+ */
136
+ export function toggleRightSidebar() {
137
+ state.rightSidebarVisible = !state.rightSidebarVisible;
138
+ }
139
+ /**
140
+ * Show right sidebar
141
+ */
142
+ export function showRightSidebar() {
143
+ state.rightSidebarVisible = true;
144
+ }
145
+ /**
146
+ * Hide right sidebar
147
+ */
148
+ export function hideRightSidebar() {
149
+ state.rightSidebarVisible = false;
150
+ }
151
+ /**
152
+ * Set right sidebar width
153
+ */
154
+ export function setRightSidebarWidth(width) {
155
+ state.rightSidebarWidth = Math.max(SIDEBAR_MIN_WIDTH, Math.min(SIDEBAR_MAX_WIDTH, width));
156
+ }
157
+ /**
158
+ * Set right sidebar active panel
159
+ */
160
+ export function setRightSidebarPanel(panel) {
161
+ if (state.rightSidebarActivePanel === panel && state.rightSidebarVisible) {
162
+ state.rightSidebarVisible = false;
163
+ }
164
+ else {
165
+ state.rightSidebarActivePanel = panel;
166
+ state.rightSidebarVisible = true;
167
+ }
168
+ }
169
+ /**
170
+ * Toggle bottom panel visibility
171
+ */
172
+ export function toggleBottomPanel() {
173
+ state.bottomPanelVisible = !state.bottomPanelVisible;
174
+ }
175
+ /**
176
+ * Show bottom panel
177
+ */
178
+ export function showBottomPanel() {
179
+ state.bottomPanelVisible = true;
180
+ }
181
+ /**
182
+ * Hide bottom panel
183
+ */
184
+ export function hideBottomPanel() {
185
+ state.bottomPanelVisible = false;
186
+ }
187
+ /**
188
+ * Set bottom panel height
189
+ */
190
+ export function setBottomPanelHeight(height) {
191
+ state.bottomPanelHeight = Math.max(PANEL_MIN_HEIGHT, Math.min(PANEL_MAX_HEIGHT, height));
192
+ }
193
+ /**
194
+ * Set bottom panel active tab
195
+ */
196
+ export function setBottomPanelTab(tab) {
197
+ if (state.bottomPanelActiveTab === tab && state.bottomPanelVisible) {
198
+ state.bottomPanelVisible = false;
199
+ }
200
+ else {
201
+ state.bottomPanelActiveTab = tab;
202
+ state.bottomPanelVisible = true;
203
+ }
204
+ }
205
+ /**
206
+ * Toggle activity bar visibility
207
+ */
208
+ export function toggleActivityBar() {
209
+ state.activityBarPosition = state.activityBarPosition === 'left' ? 'hidden' : 'left';
210
+ }
211
+ /**
212
+ * Toggle status bar visibility
213
+ */
214
+ export function toggleStatusBar() {
215
+ state.statusBarVisible = !state.statusBarVisible;
216
+ }
217
+ /**
218
+ * Toggle full screen mode
219
+ */
220
+ export function toggleFullScreen() {
221
+ state.isFullScreen = !state.isFullScreen;
222
+ if (state.isFullScreen) {
223
+ document.documentElement.requestFullscreen?.();
224
+ }
225
+ else {
226
+ document.exitFullscreen?.();
227
+ }
228
+ }
229
+ /**
230
+ * Toggle zen mode (distraction-free editing)
231
+ */
232
+ export function toggleZenMode() {
233
+ state.zenMode = !state.zenMode;
234
+ }
235
+ /**
236
+ * Exit zen mode
237
+ */
238
+ export function exitZenMode() {
239
+ state.zenMode = false;
240
+ }
241
+ /**
242
+ * Open command palette
243
+ */
244
+ export function openCommandPalette() {
245
+ state.commandPaletteOpen = true;
246
+ }
247
+ /**
248
+ * Close command palette
249
+ */
250
+ export function closeCommandPalette() {
251
+ state.commandPaletteOpen = false;
252
+ }
253
+ /**
254
+ * Toggle command palette
255
+ */
256
+ export function toggleCommandPalette() {
257
+ state.commandPaletteOpen = !state.commandPaletteOpen;
258
+ }
259
+ /**
260
+ * Open search panel
261
+ */
262
+ export function openSearchPanel() {
263
+ state.searchPanelOpen = true;
264
+ state.leftSidebarActivePanel = 'search';
265
+ state.leftSidebarVisible = true;
266
+ }
267
+ /**
268
+ * Close search panel
269
+ */
270
+ export function closeSearchPanel() {
271
+ state.searchPanelOpen = false;
272
+ }
273
+ /**
274
+ * Toggle search panel
275
+ */
276
+ export function toggleSearchPanel() {
277
+ if (state.searchPanelOpen) {
278
+ closeSearchPanel();
279
+ }
280
+ else {
281
+ openSearchPanel();
282
+ }
283
+ }
284
+ /**
285
+ * Open settings
286
+ */
287
+ export function openSettings() {
288
+ state.settingsOpen = true;
289
+ }
290
+ /**
291
+ * Close settings
292
+ */
293
+ export function closeSettings() {
294
+ state.settingsOpen = false;
295
+ }
296
+ /**
297
+ * Toggle settings
298
+ */
299
+ export function toggleSettings() {
300
+ state.settingsOpen = !state.settingsOpen;
301
+ }
302
+ /**
303
+ * Reset layout to defaults
304
+ */
305
+ export function resetLayout() {
306
+ state.leftSidebarVisible = true;
307
+ state.leftSidebarWidth = SIDEBAR_DEFAULT_WIDTH;
308
+ state.leftSidebarActivePanel = 'explorer';
309
+ state.rightSidebarVisible = false;
310
+ state.rightSidebarWidth = SIDEBAR_DEFAULT_WIDTH;
311
+ state.rightSidebarActivePanel = 'ai';
312
+ state.bottomPanelVisible = false;
313
+ state.bottomPanelHeight = PANEL_DEFAULT_HEIGHT;
314
+ state.bottomPanelActiveTab = 'terminal';
315
+ state.activityBarPosition = 'left';
316
+ state.statusBarVisible = true;
317
+ state.isFullScreen = false;
318
+ state.zenMode = false;
319
+ }
320
+ /**
321
+ * Focus the AI panel
322
+ */
323
+ export function focusAIPanel() {
324
+ state.rightSidebarActivePanel = 'ai';
325
+ state.rightSidebarVisible = true;
326
+ }
327
+ /**
328
+ * Focus the explorer panel
329
+ */
330
+ export function focusExplorer() {
331
+ state.leftSidebarActivePanel = 'explorer';
332
+ state.leftSidebarVisible = true;
333
+ }
334
+ /**
335
+ * Focus the terminal
336
+ */
337
+ export function focusTerminal() {
338
+ state.bottomPanelActiveTab = 'terminal';
339
+ state.bottomPanelVisible = true;
340
+ }
341
+ /**
342
+ * Get layout constraints
343
+ */
344
+ export const constraints = {
345
+ sidebarMinWidth: SIDEBAR_MIN_WIDTH,
346
+ sidebarMaxWidth: SIDEBAR_MAX_WIDTH,
347
+ sidebarDefaultWidth: SIDEBAR_DEFAULT_WIDTH,
348
+ panelMinHeight: PANEL_MIN_HEIGHT,
349
+ panelMaxHeight: PANEL_MAX_HEIGHT,
350
+ panelDefaultHeight: PANEL_DEFAULT_HEIGHT
351
+ };
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Plugin store using Svelte 5 runes.
3
+ *
4
+ * Manages the proposal-based plugin lifecycle (draft → review → testing →
5
+ * deployed) against a backend "plugin host". The host is expected to expose a
6
+ * REST + Server-Sent-Events API under a configurable base path (default
7
+ * `/api/plugins`); see {@link connect} and the fetch helpers below for the
8
+ * exact contract.
9
+ *
10
+ * Note: Svelte 5 modules cannot directly export $derived values.
11
+ * We use getter functions to expose reactive derived state.
12
+ */
13
+ import type { PluginProposal, PluginInstance, PluginEvent, PluginCommand, PluginPanel } from '../types';
14
+ export declare function seedProposals(proposals: PluginProposal[]): void;
15
+ export declare function getProposals(): PluginProposal[];
16
+ export declare function getInstances(): PluginInstance[];
17
+ export declare function getActiveInstances(): PluginInstance[];
18
+ export declare function getCommands(): PluginCommand[];
19
+ export declare function getPanels(): PluginPanel[];
20
+ export declare function getConnected(): boolean;
21
+ export declare function getLoadingProposals(): boolean;
22
+ export declare function getLoadingInstance(): string | null;
23
+ export declare function getError(): string | null;
24
+ export declare function getDraftProposals(): PluginProposal[];
25
+ export declare function getReviewingProposals(): PluginProposal[];
26
+ export declare function getDeployedProposals(): PluginProposal[];
27
+ export declare const proposals: {
28
+ readonly current: PluginProposal[];
29
+ };
30
+ export declare const instances: {
31
+ readonly current: PluginInstance[];
32
+ };
33
+ export declare const activeInstances: {
34
+ readonly current: PluginInstance[];
35
+ };
36
+ export declare const commands: {
37
+ readonly current: PluginCommand[];
38
+ };
39
+ export declare const panels: {
40
+ readonly current: PluginPanel[];
41
+ };
42
+ export declare const connected: {
43
+ readonly current: boolean;
44
+ };
45
+ export declare const loadingProposals: {
46
+ readonly current: boolean;
47
+ };
48
+ export declare const loadingInstance: {
49
+ readonly current: string | null;
50
+ };
51
+ export declare const error: {
52
+ readonly current: string | null;
53
+ };
54
+ export declare const draftProposals: {
55
+ readonly current: PluginProposal[];
56
+ };
57
+ export declare const reviewingProposals: {
58
+ readonly current: PluginProposal[];
59
+ };
60
+ export declare const deployedProposals: {
61
+ readonly current: PluginProposal[];
62
+ };
63
+ /**
64
+ * Connect to the plugin host's Server-Sent-Events stream.
65
+ *
66
+ * @param endpoint - SSE endpoint on your plugin host. Defaults to
67
+ * `/api/plugins/stream` (same-origin).
68
+ */
69
+ export declare function connect(endpoint?: string): void;
70
+ /**
71
+ * Disconnect from the event stream
72
+ */
73
+ export declare function disconnect(): void;
74
+ /**
75
+ * Subscribe to plugin events
76
+ */
77
+ export declare function onEvent(type: PluginEvent['type'] | '*', handler: (event: PluginEvent) => void): () => void;
78
+ /**
79
+ * Fetch all proposals from the server
80
+ */
81
+ export declare function fetchProposals(): Promise<void>;
82
+ /**
83
+ * Create a new plugin proposal
84
+ */
85
+ export declare function createProposal(proposal: Omit<PluginProposal, 'id' | 'version' | 'status' | 'votes' | 'issues' | 'createdAt' | 'updatedAt'>): Promise<string | null>;
86
+ /**
87
+ * Submit a proposal for review
88
+ */
89
+ export declare function submitProposal(proposalId: string): Promise<boolean>;
90
+ /**
91
+ * Load and activate a deployed plugin
92
+ */
93
+ export declare function loadPlugin(proposalId: string): Promise<boolean>;
94
+ /**
95
+ * Unload a plugin
96
+ */
97
+ export declare function unloadPlugin(proposalId: string): void;
98
+ /**
99
+ * Register a command from a plugin
100
+ */
101
+ export declare function registerCommand(pluginId: string, command: PluginCommand): void;
102
+ /**
103
+ * Register a panel from a plugin
104
+ */
105
+ export declare function registerPanel(pluginId: string, panel: PluginPanel): void;
106
+ /**
107
+ * Execute a command
108
+ */
109
+ export declare function executeCommand(commandId: string): Promise<void>;
110
+ /**
111
+ * Get a proposal by ID
112
+ */
113
+ export declare function getProposal(proposalId: string): PluginProposal | undefined;
114
+ /**
115
+ * Get an instance by ID
116
+ */
117
+ export declare function getInstance(pluginId: string): PluginInstance | undefined;
118
+ /**
119
+ * Clear error state
120
+ */
121
+ export declare function clearError(): void;