@ottocode/web-sdk 0.1.226 → 0.1.227

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 (405) hide show
  1. package/dist/components/chat/FileMentionPopup.d.ts.map +1 -1
  2. package/dist/components/index.js +25148 -80
  3. package/dist/components/index.js.map +180 -1
  4. package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -1
  5. package/dist/components/messages/CompactActivityGroup.d.ts +10 -0
  6. package/dist/components/messages/CompactActivityGroup.d.ts.map +1 -0
  7. package/dist/components/messages/MessagePartItem.d.ts.map +1 -1
  8. package/dist/components/messages/MessageThread.d.ts +1 -0
  9. package/dist/components/messages/MessageThread.d.ts.map +1 -1
  10. package/dist/components/messages/MessageThreadContainer.d.ts.map +1 -1
  11. package/dist/components/messages/compactActivity.d.ts +34 -0
  12. package/dist/components/messages/compactActivity.d.ts.map +1 -0
  13. package/dist/components/messages/renderers/EditRenderer.d.ts +1 -1
  14. package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -1
  15. package/dist/components/messages/renderers/index.d.ts.map +1 -1
  16. package/dist/components/messages/renderers/types.d.ts +3 -1
  17. package/dist/components/messages/renderers/types.d.ts.map +1 -1
  18. package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
  19. package/dist/components/settings/SetuTopupModal.d.ts.map +1 -1
  20. package/dist/hooks/index.js +4812 -29
  21. package/dist/hooks/index.js.map +67 -1
  22. package/dist/hooks/useAuthStatus.d.ts.map +1 -1
  23. package/dist/hooks/useMCP.d.ts +9 -0
  24. package/dist/hooks/useMCP.d.ts.map +1 -1
  25. package/dist/hooks/usePreferences.d.ts +1 -0
  26. package/dist/hooks/usePreferences.d.ts.map +1 -1
  27. package/dist/hooks/useSessionStream.d.ts.map +1 -1
  28. package/dist/index.js +25918 -7
  29. package/dist/index.js.map +185 -1
  30. package/dist/lib/api-client/approval.d.ts.map +1 -1
  31. package/dist/lib/index.js +1007 -5
  32. package/dist/lib/index.js.map +22 -1
  33. package/dist/stores/index.js +693 -22
  34. package/dist/stores/index.js.map +30 -1
  35. package/dist/stores/toastStore.d.ts +1 -0
  36. package/dist/stores/toastStore.d.ts.map +1 -1
  37. package/dist/types/api.js +2 -2
  38. package/dist/types/api.js.map +9 -1
  39. package/package.json +4 -4
  40. package/dist/assets/provider-logos.js +0 -43
  41. package/dist/assets/provider-logos.js.map +0 -1
  42. package/dist/components/branch/BranchModal.js +0 -45
  43. package/dist/components/branch/BranchModal.js.map +0 -1
  44. package/dist/components/chat/ChatInput.js +0 -267
  45. package/dist/components/chat/ChatInput.js.map +0 -1
  46. package/dist/components/chat/ChatInputContainer.js +0 -295
  47. package/dist/components/chat/ChatInputContainer.js.map +0 -1
  48. package/dist/components/chat/ChatInputKeyHandler.js +0 -75
  49. package/dist/components/chat/ChatInputKeyHandler.js.map +0 -1
  50. package/dist/components/chat/CommandSuggestionsPopup.js +0 -45
  51. package/dist/components/chat/CommandSuggestionsPopup.js.map +0 -1
  52. package/dist/components/chat/ConfigModal.js +0 -46
  53. package/dist/components/chat/ConfigModal.js.map +0 -1
  54. package/dist/components/chat/ConfigSelector.js +0 -47
  55. package/dist/components/chat/ConfigSelector.js.map +0 -1
  56. package/dist/components/chat/FileMentionPopup.js +0 -138
  57. package/dist/components/chat/FileMentionPopup.js.map +0 -1
  58. package/dist/components/chat/ShortcutsModal.js +0 -275
  59. package/dist/components/chat/ShortcutsModal.js.map +0 -1
  60. package/dist/components/chat/StopButton.js +0 -25
  61. package/dist/components/chat/StopButton.js.map +0 -1
  62. package/dist/components/chat/UnifiedAgentSelector.js +0 -107
  63. package/dist/components/chat/UnifiedAgentSelector.js.map +0 -1
  64. package/dist/components/chat/UnifiedModelSelector.js +0 -209
  65. package/dist/components/chat/UnifiedModelSelector.js.map +0 -1
  66. package/dist/components/common/ProviderLogo.js +0 -30
  67. package/dist/components/common/ProviderLogo.js.map +0 -1
  68. package/dist/components/common/StatusIndicator.js +0 -54
  69. package/dist/components/common/StatusIndicator.js.map +0 -1
  70. package/dist/components/common/UsageModal.js +0 -55
  71. package/dist/components/common/UsageModal.js.map +0 -1
  72. package/dist/components/common/UsageRing.js +0 -22
  73. package/dist/components/common/UsageRing.js.map +0 -1
  74. package/dist/components/file-browser/FileBrowserSidebar.js +0 -50
  75. package/dist/components/file-browser/FileBrowserSidebar.js.map +0 -1
  76. package/dist/components/file-browser/FileBrowserSidebarToggle.js +0 -12
  77. package/dist/components/file-browser/FileBrowserSidebarToggle.js.map +0 -1
  78. package/dist/components/file-browser/FileViewerPanel.js +0 -85
  79. package/dist/components/file-browser/FileViewerPanel.js.map +0 -1
  80. package/dist/components/file-browser/QuickFilePicker.js +0 -118
  81. package/dist/components/file-browser/QuickFilePicker.js.map +0 -1
  82. package/dist/components/git/GitCommitModal.js +0 -70
  83. package/dist/components/git/GitCommitModal.js.map +0 -1
  84. package/dist/components/git/GitDiffPanel.js +0 -60
  85. package/dist/components/git/GitDiffPanel.js.map +0 -1
  86. package/dist/components/git/GitDiffViewer.js +0 -224
  87. package/dist/components/git/GitDiffViewer.js.map +0 -1
  88. package/dist/components/git/GitFileItem.js +0 -145
  89. package/dist/components/git/GitFileItem.js.map +0 -1
  90. package/dist/components/git/GitFileList.js +0 -108
  91. package/dist/components/git/GitFileList.js.map +0 -1
  92. package/dist/components/git/GitSidebar.js +0 -156
  93. package/dist/components/git/GitSidebar.js.map +0 -1
  94. package/dist/components/git/GitSidebarToggle.js +0 -18
  95. package/dist/components/git/GitSidebarToggle.js.map +0 -1
  96. package/dist/components/mcp/AddMCPServerModal.js +0 -166
  97. package/dist/components/mcp/AddMCPServerModal.js.map +0 -1
  98. package/dist/components/mcp/MCPSidebar.js +0 -192
  99. package/dist/components/mcp/MCPSidebar.js.map +0 -1
  100. package/dist/components/mcp/MCPSidebarToggle.js +0 -14
  101. package/dist/components/mcp/MCPSidebarToggle.js.map +0 -1
  102. package/dist/components/mcp/index.js +0 -4
  103. package/dist/components/mcp/index.js.map +0 -1
  104. package/dist/components/messages/AssistantMessageGroup.js +0 -176
  105. package/dist/components/messages/AssistantMessageGroup.js.map +0 -1
  106. package/dist/components/messages/MessagePartItem.js +0 -362
  107. package/dist/components/messages/MessagePartItem.js.map +0 -1
  108. package/dist/components/messages/MessageThread.js +0 -239
  109. package/dist/components/messages/MessageThread.js.map +0 -1
  110. package/dist/components/messages/MessageThreadContainer.js +0 -22
  111. package/dist/components/messages/MessageThreadContainer.js.map +0 -1
  112. package/dist/components/messages/ToolApprovalCard.js +0 -143
  113. package/dist/components/messages/ToolApprovalCard.js.map +0 -1
  114. package/dist/components/messages/TopupApprovalCard.js +0 -52
  115. package/dist/components/messages/TopupApprovalCard.js.map +0 -1
  116. package/dist/components/messages/UserMessageGroup.js +0 -132
  117. package/dist/components/messages/UserMessageGroup.js.map +0 -1
  118. package/dist/components/messages/renderers/ApplyPatchRenderer.js +0 -55
  119. package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +0 -1
  120. package/dist/components/messages/renderers/BashRenderer.js +0 -55
  121. package/dist/components/messages/renderers/BashRenderer.js.map +0 -1
  122. package/dist/components/messages/renderers/DatabaseToolRenderer.js +0 -151
  123. package/dist/components/messages/renderers/DatabaseToolRenderer.js.map +0 -1
  124. package/dist/components/messages/renderers/DebugRenderer.js +0 -5
  125. package/dist/components/messages/renderers/DebugRenderer.js.map +0 -1
  126. package/dist/components/messages/renderers/DiffView.js +0 -206
  127. package/dist/components/messages/renderers/DiffView.js.map +0 -1
  128. package/dist/components/messages/renderers/EditRenderer.js +0 -25
  129. package/dist/components/messages/renderers/EditRenderer.js.map +0 -1
  130. package/dist/components/messages/renderers/ErrorRenderer.js +0 -162
  131. package/dist/components/messages/renderers/ErrorRenderer.js.map +0 -1
  132. package/dist/components/messages/renderers/FinishRenderer.js +0 -7
  133. package/dist/components/messages/renderers/FinishRenderer.js.map +0 -1
  134. package/dist/components/messages/renderers/GenericRenderer.js +0 -50
  135. package/dist/components/messages/renderers/GenericRenderer.js.map +0 -1
  136. package/dist/components/messages/renderers/GitCommitRenderer.js +0 -21
  137. package/dist/components/messages/renderers/GitCommitRenderer.js.map +0 -1
  138. package/dist/components/messages/renderers/GitDiffRenderer.js +0 -34
  139. package/dist/components/messages/renderers/GitDiffRenderer.js.map +0 -1
  140. package/dist/components/messages/renderers/GitStatusRenderer.js +0 -60
  141. package/dist/components/messages/renderers/GitStatusRenderer.js.map +0 -1
  142. package/dist/components/messages/renderers/ListRenderer.js +0 -28
  143. package/dist/components/messages/renderers/ListRenderer.js.map +0 -1
  144. package/dist/components/messages/renderers/LoadMcpToolsRenderer.js +0 -20
  145. package/dist/components/messages/renderers/LoadMcpToolsRenderer.js.map +0 -1
  146. package/dist/components/messages/renderers/McpToolRenderer.js +0 -68
  147. package/dist/components/messages/renderers/McpToolRenderer.js.map +0 -1
  148. package/dist/components/messages/renderers/ProgressUpdateRenderer.js +0 -9
  149. package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +0 -1
  150. package/dist/components/messages/renderers/ReadRenderer.js +0 -87
  151. package/dist/components/messages/renderers/ReadRenderer.js.map +0 -1
  152. package/dist/components/messages/renderers/ReasoningRenderer.js +0 -34
  153. package/dist/components/messages/renderers/ReasoningRenderer.js.map +0 -1
  154. package/dist/components/messages/renderers/SearchRenderer.js +0 -52
  155. package/dist/components/messages/renderers/SearchRenderer.js.map +0 -1
  156. package/dist/components/messages/renderers/SkillRenderer.js +0 -36
  157. package/dist/components/messages/renderers/SkillRenderer.js.map +0 -1
  158. package/dist/components/messages/renderers/TerminalRenderer.js +0 -84
  159. package/dist/components/messages/renderers/TerminalRenderer.js.map +0 -1
  160. package/dist/components/messages/renderers/TodosRenderer.js +0 -15
  161. package/dist/components/messages/renderers/TodosRenderer.js.map +0 -1
  162. package/dist/components/messages/renderers/ToolErrorDisplay.js +0 -10
  163. package/dist/components/messages/renderers/ToolErrorDisplay.js.map +0 -1
  164. package/dist/components/messages/renderers/TreeRenderer.js +0 -33
  165. package/dist/components/messages/renderers/TreeRenderer.js.map +0 -1
  166. package/dist/components/messages/renderers/WebSearchRenderer.js +0 -29
  167. package/dist/components/messages/renderers/WebSearchRenderer.js.map +0 -1
  168. package/dist/components/messages/renderers/WriteRenderer.js +0 -28
  169. package/dist/components/messages/renderers/WriteRenderer.js.map +0 -1
  170. package/dist/components/messages/renderers/index.js +0 -129
  171. package/dist/components/messages/renderers/index.js.map +0 -1
  172. package/dist/components/messages/renderers/shared/CopyButton.js +0 -27
  173. package/dist/components/messages/renderers/shared/CopyButton.js.map +0 -1
  174. package/dist/components/messages/renderers/shared/ImagePreview.js +0 -14
  175. package/dist/components/messages/renderers/shared/ImagePreview.js.map +0 -1
  176. package/dist/components/messages/renderers/shared/ToolContentBox.js +0 -9
  177. package/dist/components/messages/renderers/shared/ToolContentBox.js.map +0 -1
  178. package/dist/components/messages/renderers/shared/ToolHeader.js +0 -69
  179. package/dist/components/messages/renderers/shared/ToolHeader.js.map +0 -1
  180. package/dist/components/messages/renderers/shared/index.js +0 -5
  181. package/dist/components/messages/renderers/shared/index.js.map +0 -1
  182. package/dist/components/messages/renderers/types.js +0 -2
  183. package/dist/components/messages/renderers/types.js.map +0 -1
  184. package/dist/components/messages/renderers/utils.js +0 -60
  185. package/dist/components/messages/renderers/utils.js.map +0 -1
  186. package/dist/components/onboarding/OnboardingModal.js +0 -22
  187. package/dist/components/onboarding/OnboardingModal.js.map +0 -1
  188. package/dist/components/onboarding/index.js +0 -4
  189. package/dist/components/onboarding/index.js.map +0 -1
  190. package/dist/components/onboarding/steps/DefaultsStep.js +0 -104
  191. package/dist/components/onboarding/steps/DefaultsStep.js.map +0 -1
  192. package/dist/components/onboarding/steps/ProviderSetupStep.js +0 -398
  193. package/dist/components/onboarding/steps/ProviderSetupStep.js.map +0 -1
  194. package/dist/components/research/ResearchSidebar.js +0 -288
  195. package/dist/components/research/ResearchSidebar.js.map +0 -1
  196. package/dist/components/research/ResearchSidebarToggle.js +0 -15
  197. package/dist/components/research/ResearchSidebarToggle.js.map +0 -1
  198. package/dist/components/research/index.js +0 -3
  199. package/dist/components/research/index.js.map +0 -1
  200. package/dist/components/session-files/SessionFilesDiffPanel.js +0 -345
  201. package/dist/components/session-files/SessionFilesDiffPanel.js.map +0 -1
  202. package/dist/components/session-files/SessionFilesSidebar.js +0 -87
  203. package/dist/components/session-files/SessionFilesSidebar.js.map +0 -1
  204. package/dist/components/session-files/SessionFilesSidebarToggle.js +0 -15
  205. package/dist/components/session-files/SessionFilesSidebarToggle.js.map +0 -1
  206. package/dist/components/session-files/index.js +0 -4
  207. package/dist/components/session-files/index.js.map +0 -1
  208. package/dist/components/sessions/EditableTitle.js +0 -40
  209. package/dist/components/sessions/EditableTitle.js.map +0 -1
  210. package/dist/components/sessions/LeanHeader.js +0 -70
  211. package/dist/components/sessions/LeanHeader.js.map +0 -1
  212. package/dist/components/sessions/SessionHeader.js +0 -75
  213. package/dist/components/sessions/SessionHeader.js.map +0 -1
  214. package/dist/components/sessions/SessionItem.js +0 -28
  215. package/dist/components/sessions/SessionItem.js.map +0 -1
  216. package/dist/components/sessions/SessionListContainer.js +0 -86
  217. package/dist/components/sessions/SessionListContainer.js.map +0 -1
  218. package/dist/components/settings/SettingsSidebar.js +0 -212
  219. package/dist/components/settings/SettingsSidebar.js.map +0 -1
  220. package/dist/components/settings/SettingsSidebarToggle.js +0 -12
  221. package/dist/components/settings/SettingsSidebarToggle.js.map +0 -1
  222. package/dist/components/settings/SetuTopupModal.js +0 -306
  223. package/dist/components/settings/SetuTopupModal.js.map +0 -1
  224. package/dist/components/skills/SkillViewerPanel.js +0 -89
  225. package/dist/components/skills/SkillViewerPanel.js.map +0 -1
  226. package/dist/components/skills/SkillsSidebar.js +0 -59
  227. package/dist/components/skills/SkillsSidebar.js.map +0 -1
  228. package/dist/components/skills/SkillsSidebarToggle.js +0 -12
  229. package/dist/components/skills/SkillsSidebarToggle.js.map +0 -1
  230. package/dist/components/skills/index.js +0 -4
  231. package/dist/components/skills/index.js.map +0 -1
  232. package/dist/components/terminals/TerminalPanelToggle.js +0 -13
  233. package/dist/components/terminals/TerminalPanelToggle.js.map +0 -1
  234. package/dist/components/terminals/TerminalTabBar.js +0 -22
  235. package/dist/components/terminals/TerminalTabBar.js.map +0 -1
  236. package/dist/components/terminals/TerminalViewer.js +0 -371
  237. package/dist/components/terminals/TerminalViewer.js.map +0 -1
  238. package/dist/components/terminals/TerminalsPanel.js +0 -134
  239. package/dist/components/terminals/TerminalsPanel.js.map +0 -1
  240. package/dist/components/terminals/index.js +0 -11
  241. package/dist/components/terminals/index.js.map +0 -1
  242. package/dist/components/tunnel/TunnelSidebar.js +0 -55
  243. package/dist/components/tunnel/TunnelSidebar.js.map +0 -1
  244. package/dist/components/tunnel/TunnelSidebarToggle.js +0 -14
  245. package/dist/components/tunnel/TunnelSidebarToggle.js.map +0 -1
  246. package/dist/components/tunnel/index.js +0 -3
  247. package/dist/components/tunnel/index.js.map +0 -1
  248. package/dist/components/ui/Button.js +0 -19
  249. package/dist/components/ui/Button.js.map +0 -1
  250. package/dist/components/ui/Card.js +0 -7
  251. package/dist/components/ui/Card.js.map +0 -1
  252. package/dist/components/ui/ConfirmationDialog.js +0 -72
  253. package/dist/components/ui/ConfirmationDialog.js.map +0 -1
  254. package/dist/components/ui/Input.js +0 -7
  255. package/dist/components/ui/Input.js.map +0 -1
  256. package/dist/components/ui/Modal.js +0 -51
  257. package/dist/components/ui/Modal.js.map +0 -1
  258. package/dist/components/ui/ResizeHandle.js +0 -39
  259. package/dist/components/ui/ResizeHandle.js.map +0 -1
  260. package/dist/components/ui/Textarea.js +0 -7
  261. package/dist/components/ui/Textarea.js.map +0 -1
  262. package/dist/components/ui/Toaster.js +0 -41
  263. package/dist/components/ui/Toaster.js.map +0 -1
  264. package/dist/components/ui/ToolApprovalDialog.js +0 -57
  265. package/dist/components/ui/ToolApprovalDialog.js.map +0 -1
  266. package/dist/hooks/useAuthStatus.js +0 -287
  267. package/dist/hooks/useAuthStatus.js.map +0 -1
  268. package/dist/hooks/useBranch.js +0 -44
  269. package/dist/hooks/useBranch.js.map +0 -1
  270. package/dist/hooks/useCommandSuggestions.js +0 -86
  271. package/dist/hooks/useCommandSuggestions.js.map +0 -1
  272. package/dist/hooks/useConfig.js +0 -32
  273. package/dist/hooks/useConfig.js.map +0 -1
  274. package/dist/hooks/useFileBrowser.js +0 -30
  275. package/dist/hooks/useFileBrowser.js.map +0 -1
  276. package/dist/hooks/useFileMention.js +0 -56
  277. package/dist/hooks/useFileMention.js.map +0 -1
  278. package/dist/hooks/useFileUpload.js +0 -317
  279. package/dist/hooks/useFileUpload.js.map +0 -1
  280. package/dist/hooks/useFiles.js +0 -15
  281. package/dist/hooks/useFiles.js.map +0 -1
  282. package/dist/hooks/useGit.js +0 -149
  283. package/dist/hooks/useGit.js.map +0 -1
  284. package/dist/hooks/useImageUpload.js +0 -197
  285. package/dist/hooks/useImageUpload.js.map +0 -1
  286. package/dist/hooks/useKeyboardShortcuts.js +0 -249
  287. package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
  288. package/dist/hooks/useMCP.js +0 -202
  289. package/dist/hooks/useMCP.js.map +0 -1
  290. package/dist/hooks/useMessages.js +0 -26
  291. package/dist/hooks/useMessages.js.map +0 -1
  292. package/dist/hooks/usePreferences.js +0 -61
  293. package/dist/hooks/usePreferences.js.map +0 -1
  294. package/dist/hooks/useProviderUsage.js +0 -44
  295. package/dist/hooks/useProviderUsage.js.map +0 -1
  296. package/dist/hooks/useQueueState.js +0 -31
  297. package/dist/hooks/useQueueState.js.map +0 -1
  298. package/dist/hooks/useResearch.js +0 -139
  299. package/dist/hooks/useResearch.js.map +0 -1
  300. package/dist/hooks/useSessionFiles.js +0 -15
  301. package/dist/hooks/useSessionFiles.js.map +0 -1
  302. package/dist/hooks/useSessionStream.js +0 -572
  303. package/dist/hooks/useSessionStream.js.map +0 -1
  304. package/dist/hooks/useSessions.js +0 -83
  305. package/dist/hooks/useSessions.js.map +0 -1
  306. package/dist/hooks/useSetuBalance.js +0 -71
  307. package/dist/hooks/useSetuBalance.js.map +0 -1
  308. package/dist/hooks/useSetuPayments.js +0 -171
  309. package/dist/hooks/useSetuPayments.js.map +0 -1
  310. package/dist/hooks/useShareStatus.js +0 -12
  311. package/dist/hooks/useShareStatus.js.map +0 -1
  312. package/dist/hooks/useSkills.js +0 -54
  313. package/dist/hooks/useSkills.js.map +0 -1
  314. package/dist/hooks/useTerminals.js +0 -67
  315. package/dist/hooks/useTerminals.js.map +0 -1
  316. package/dist/hooks/useTheme.js +0 -57
  317. package/dist/hooks/useTheme.js.map +0 -1
  318. package/dist/hooks/useToolApprovalShortcuts.js +0 -88
  319. package/dist/hooks/useToolApprovalShortcuts.js.map +0 -1
  320. package/dist/hooks/useTopupCallback.js +0 -74
  321. package/dist/hooks/useTopupCallback.js.map +0 -1
  322. package/dist/hooks/useTunnel.js +0 -158
  323. package/dist/hooks/useTunnel.js.map +0 -1
  324. package/dist/hooks/useVimMode.js +0 -298
  325. package/dist/hooks/useVimMode.js.map +0 -1
  326. package/dist/hooks/useWorkingDirectory.js +0 -34
  327. package/dist/hooks/useWorkingDirectory.js.map +0 -1
  328. package/dist/lib/api-client/approval.js +0 -25
  329. package/dist/lib/api-client/approval.js.map +0 -1
  330. package/dist/lib/api-client/auth.js +0 -139
  331. package/dist/lib/api-client/auth.js.map +0 -1
  332. package/dist/lib/api-client/branches.js +0 -45
  333. package/dist/lib/api-client/branches.js.map +0 -1
  334. package/dist/lib/api-client/config.js +0 -38
  335. package/dist/lib/api-client/config.js.map +0 -1
  336. package/dist/lib/api-client/files.js +0 -35
  337. package/dist/lib/api-client/files.js.map +0 -1
  338. package/dist/lib/api-client/git.js +0 -154
  339. package/dist/lib/api-client/git.js.map +0 -1
  340. package/dist/lib/api-client/index.js +0 -92
  341. package/dist/lib/api-client/index.js.map +0 -1
  342. package/dist/lib/api-client/sessions.js +0 -106
  343. package/dist/lib/api-client/sessions.js.map +0 -1
  344. package/dist/lib/api-client/setu.js +0 -144
  345. package/dist/lib/api-client/setu.js.map +0 -1
  346. package/dist/lib/api-client/skills.js +0 -31
  347. package/dist/lib/api-client/skills.js.map +0 -1
  348. package/dist/lib/api-client/utils.js +0 -65
  349. package/dist/lib/api-client/utils.js.map +0 -1
  350. package/dist/lib/commands.js +0 -124
  351. package/dist/lib/commands.js.map +0 -1
  352. package/dist/lib/config.js +0 -28
  353. package/dist/lib/config.js.map +0 -1
  354. package/dist/lib/nerd-font.js +0 -55
  355. package/dist/lib/nerd-font.js.map +0 -1
  356. package/dist/lib/open-url.js +0 -9
  357. package/dist/lib/open-url.js.map +0 -1
  358. package/dist/lib/parseResearchContext.js +0 -30
  359. package/dist/lib/parseResearchContext.js.map +0 -1
  360. package/dist/lib/sse-client.js +0 -113
  361. package/dist/lib/sse-client.js.map +0 -1
  362. package/dist/stores/confirmationStore.js +0 -27
  363. package/dist/stores/confirmationStore.js.map +0 -1
  364. package/dist/stores/fileBrowserStore.js +0 -63
  365. package/dist/stores/fileBrowserStore.js.map +0 -1
  366. package/dist/stores/filePickerStore.js +0 -8
  367. package/dist/stores/filePickerStore.js.map +0 -1
  368. package/dist/stores/focusStore.js +0 -12
  369. package/dist/stores/focusStore.js.map +0 -1
  370. package/dist/stores/gitStore.js +0 -63
  371. package/dist/stores/gitStore.js.map +0 -1
  372. package/dist/stores/mcpStore.js +0 -63
  373. package/dist/stores/mcpStore.js.map +0 -1
  374. package/dist/stores/onboardingStore.js +0 -38
  375. package/dist/stores/onboardingStore.js.map +0 -1
  376. package/dist/stores/panelWidthStore.js +0 -12
  377. package/dist/stores/panelWidthStore.js.map +0 -1
  378. package/dist/stores/pendingResearchStore.js +0 -38
  379. package/dist/stores/pendingResearchStore.js.map +0 -1
  380. package/dist/stores/queueStore.js +0 -11
  381. package/dist/stores/queueStore.js.map +0 -1
  382. package/dist/stores/researchStore.js +0 -54
  383. package/dist/stores/researchStore.js.map +0 -1
  384. package/dist/stores/sessionFilesStore.js +0 -62
  385. package/dist/stores/sessionFilesStore.js.map +0 -1
  386. package/dist/stores/settingsStore.js +0 -29
  387. package/dist/stores/settingsStore.js.map +0 -1
  388. package/dist/stores/setuStore.js +0 -29
  389. package/dist/stores/setuStore.js.map +0 -1
  390. package/dist/stores/sidebarStore.js +0 -10
  391. package/dist/stores/sidebarStore.js.map +0 -1
  392. package/dist/stores/skillsStore.js +0 -46
  393. package/dist/stores/skillsStore.js.map +0 -1
  394. package/dist/stores/terminalStore.js +0 -32
  395. package/dist/stores/terminalStore.js.map +0 -1
  396. package/dist/stores/toastStore.js +0 -46
  397. package/dist/stores/toastStore.js.map +0 -1
  398. package/dist/stores/toolApprovalStore.js +0 -16
  399. package/dist/stores/toolApprovalStore.js.map +0 -1
  400. package/dist/stores/topupApprovalStore.js +0 -11
  401. package/dist/stores/topupApprovalStore.js.map +0 -1
  402. package/dist/stores/tunnelStore.js +0 -55
  403. package/dist/stores/tunnelStore.js.map +0 -1
  404. package/dist/stores/usageStore.js +0 -14
  405. package/dist/stores/usageStore.js.map +0 -1
@@ -1,106 +0,0 @@
1
- import { createSession as apiCreateSession, listSessions as apiListSessions, listMessages as apiListMessages, createMessage as apiCreateMessage, abortSession as apiAbortSession, deleteSession as apiDeleteSession, updateSession as apiUpdateSession, getSessionQueue as apiGetSessionQueue, removeFromQueue as apiRemoveFromQueue, retryMessage as apiRetryMessage, } from '@ottocode/api';
2
- import { extractErrorMessage, convertSession, convertMessage, getBaseUrl, } from './utils';
3
- export const sessionsMixin = {
4
- async getSessions() {
5
- const page = await this.getSessionsPage({ limit: 200 });
6
- return page.items;
7
- },
8
- async getSessionsPage(params = {}) {
9
- const { limit = 50, offset = 0 } = params;
10
- const response = await apiListSessions({
11
- query: { limit, offset },
12
- });
13
- if (response.error)
14
- throw new Error(extractErrorMessage(response.error));
15
- const data = response.data;
16
- return {
17
- items: (data?.items ?? []).map((s) => convertSession(s)),
18
- hasMore: data?.hasMore ?? false,
19
- nextOffset: data?.nextOffset ?? null,
20
- };
21
- },
22
- async createSession(data) {
23
- const response = await apiCreateSession({
24
- body: data,
25
- });
26
- if (response.error)
27
- throw new Error(extractErrorMessage(response.error));
28
- if (!response.data)
29
- throw new Error('No data returned from create session');
30
- return convertSession(response.data);
31
- },
32
- async updateSession(sessionId, data) {
33
- const response = await apiUpdateSession({
34
- path: { sessionId },
35
- // biome-ignore lint/suspicious/noExplicitAny: API type mismatch
36
- body: data,
37
- });
38
- if (response.error)
39
- throw new Error(extractErrorMessage(response.error));
40
- return convertSession(response.data);
41
- },
42
- async deleteSession(sessionId) {
43
- const response = await apiDeleteSession({ path: { sessionId } });
44
- if (response.error)
45
- throw new Error(extractErrorMessage(response.error));
46
- return response.data;
47
- },
48
- async abortSession(sessionId) {
49
- const response = await apiAbortSession({ path: { sessionId } });
50
- if (response.error)
51
- throw new Error(extractErrorMessage(response.error));
52
- return response.data;
53
- },
54
- async abortMessage(sessionId, _messageId) {
55
- const response = await apiAbortSession({
56
- path: { sessionId },
57
- });
58
- if (response.error)
59
- throw new Error('Failed to abort message');
60
- return response.data;
61
- },
62
- async getQueueState(sessionId) {
63
- const response = await apiGetSessionQueue({ path: { sessionId } });
64
- if (response.error)
65
- throw new Error('Failed to get queue state');
66
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
67
- return response.data;
68
- },
69
- async removeFromQueue(sessionId, messageId) {
70
- const response = await apiRemoveFromQueue({
71
- path: { sessionId, messageId },
72
- });
73
- if (response.error)
74
- throw new Error('Failed to remove from queue');
75
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
76
- return response.data;
77
- },
78
- async getMessages(sessionId) {
79
- const response = await apiListMessages({ path: { id: sessionId } });
80
- if (response.error)
81
- throw new Error(extractErrorMessage(response.error));
82
- return (response.data || []).map(convertMessage);
83
- },
84
- async sendMessage(sessionId, data) {
85
- const response = await apiCreateMessage({
86
- path: { id: sessionId },
87
- body: data,
88
- });
89
- if (response.error)
90
- throw new Error(extractErrorMessage(response.error));
91
- return response.data;
92
- },
93
- getStreamUrl(sessionId) {
94
- return `${getBaseUrl()}/v1/sessions/${sessionId}/stream`;
95
- },
96
- async retryMessage(sessionId, messageId) {
97
- const response = await apiRetryMessage({
98
- path: { sessionId, messageId },
99
- });
100
- if (response.error)
101
- throw new Error(extractErrorMessage(response.error));
102
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
103
- return response.data;
104
- },
105
- };
106
- //# sourceMappingURL=sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/lib/api-client/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,aAAa,IAAI,gBAAgB,EACjC,eAAe,IAAI,kBAAkB,EACrC,eAAe,IAAI,kBAAkB,EACrC,YAAY,IAAI,eAAe,GAI/B,MAAM,eAAe,CAAC;AAUvB,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,UAAU,GACV,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,SAA8C,EAAE;QAEhD,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO;YACN,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAe,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK;YAC/B,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI;SACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA0B;QAC7C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,IAAI,EAAE,IAAiC;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5E,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,SAAiB,EACjB,IAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,IAAI,EAAE,EAAE,SAAS,EAAE;YACnB,gEAAgE;YAChE,IAAI,EAAE,IAAW;SACjB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAkB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACpC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAA4B,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QACnC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAA4B,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,SAAiB,EACjB,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,IAAI,EAAE,EAAE,SAAS,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC,IAIf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QAKpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjE,qEAAqE;QACrE,OAAO,QAAQ,CAAC,IAAW,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,SAAiB,EACjB,SAAiB;QAOjB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;YACzC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC9B,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,qEAAqE;QACrE,OAAO,QAAQ,CAAC,IAAW,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QAClC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,SAAiB,EACjB,IAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;YACvC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACvB,IAAI,EAAE,IAAiC;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAA2B,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,SAAiB;QAC7B,OAAO,GAAG,UAAU,EAAE,gBAAgB,SAAS,SAAS,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC9B,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,qEAAqE;QACrE,OAAO,QAAQ,CAAC,IAAW,CAAC;IAC7B,CAAC;CACD,CAAC"}
@@ -1,144 +0,0 @@
1
- import { getSetuBalance as apiGetSetuBalance, getSetuWallet as apiGetSetuWallet, getSetuUsdcBalance as apiGetSetuUsdcBalance, createPolarCheckout as apiCreatePolarCheckout, getPolarTopupEstimate as apiGetPolarTopupEstimate, getPolarTopupStatus as apiGetPolarTopupStatus, getRazorpayTopupEstimate as apiGetRazorpayTopupEstimate, createRazorpayOrder as apiCreateRazorpayOrder, verifyRazorpayPayment as apiVerifyRazorpayPayment, selectTopupMethod as apiSelectTopupMethod, cancelTopup as apiCancelTopup, getPendingTopup as apiGetPendingTopup, } from '@ottocode/api';
2
- import { extractErrorMessage } from './utils';
3
- export const setuMixin = {
4
- async getSetuBalance() {
5
- try {
6
- const response = await apiGetSetuBalance();
7
- if (response.error)
8
- return null;
9
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
10
- return response.data;
11
- }
12
- catch {
13
- return null;
14
- }
15
- },
16
- async getSetuWallet() {
17
- try {
18
- const response = await apiGetSetuWallet();
19
- if (response.error)
20
- return { configured: false };
21
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
22
- return response.data;
23
- }
24
- catch {
25
- return { configured: false };
26
- }
27
- },
28
- async getSetuUsdcBalance(network = 'mainnet') {
29
- try {
30
- const response = await apiGetSetuUsdcBalance({
31
- query: { network },
32
- });
33
- if (response.error)
34
- return null;
35
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
36
- return response.data;
37
- }
38
- catch {
39
- return null;
40
- }
41
- },
42
- async getPolarTopupEstimate(amount) {
43
- try {
44
- const response = await apiGetPolarTopupEstimate({
45
- query: { amount },
46
- });
47
- if (response.error)
48
- return null;
49
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
50
- return response.data;
51
- }
52
- catch {
53
- return null;
54
- }
55
- },
56
- async createPolarCheckout(amount, successUrl) {
57
- const response = await apiCreatePolarCheckout({
58
- body: { amount, successUrl },
59
- });
60
- if (response.error)
61
- throw new Error(extractErrorMessage(response.error));
62
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
63
- return response.data;
64
- },
65
- async selectTopupMethod(sessionId, method) {
66
- const response = await apiSelectTopupMethod({
67
- body: { sessionId, method },
68
- });
69
- if (response.error)
70
- throw new Error(extractErrorMessage(response.error));
71
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
72
- return response.data;
73
- },
74
- async cancelTopup(sessionId, reason) {
75
- const response = await apiCancelTopup({
76
- body: { sessionId, reason },
77
- });
78
- if (response.error)
79
- throw new Error(extractErrorMessage(response.error));
80
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
81
- return response.data;
82
- },
83
- async getPendingTopup(sessionId) {
84
- try {
85
- const response = await apiGetPendingTopup({
86
- query: { sessionId },
87
- });
88
- if (response.error)
89
- return { hasPending: false };
90
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
91
- return response.data;
92
- }
93
- catch {
94
- return { hasPending: false };
95
- }
96
- },
97
- async getPolarTopupStatus(checkoutId) {
98
- try {
99
- const response = await apiGetPolarTopupStatus({
100
- query: { checkoutId },
101
- });
102
- if (response.error)
103
- return null;
104
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
105
- return response.data;
106
- }
107
- catch {
108
- return null;
109
- }
110
- },
111
- async getRazorpayTopupEstimate(amount) {
112
- try {
113
- const response = await apiGetRazorpayTopupEstimate({
114
- query: { amount },
115
- });
116
- if (response.error)
117
- return null;
118
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
119
- return response.data;
120
- }
121
- catch {
122
- return null;
123
- }
124
- },
125
- async createRazorpayOrder(amount) {
126
- const response = await apiCreateRazorpayOrder({
127
- body: { amount },
128
- });
129
- if (response.error)
130
- throw new Error(extractErrorMessage(response.error));
131
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
132
- return response.data;
133
- },
134
- async verifyRazorpayPayment(params) {
135
- const response = await apiVerifyRazorpayPayment({
136
- body: params,
137
- });
138
- if (response.error)
139
- throw new Error(extractErrorMessage(response.error));
140
- // biome-ignore lint/suspicious/noExplicitAny: API response structure
141
- return response.data;
142
- },
143
- };
144
- //# sourceMappingURL=setu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setu.js","sourceRoot":"","sources":["../../../src/lib/api-client/setu.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { listSkills as apiListSkills, getSkill as apiGetSkill, listSkillFiles as apiListSkillFiles, getSkillFile as apiGetSkillFile, } from '@ottocode/api';
2
- import { extractErrorMessage } from './utils';
3
- export const skillsMixin = {
4
- async listSkills() {
5
- const response = await apiListSkills();
6
- if (response.error)
7
- throw new Error(extractErrorMessage(response.error));
8
- return response.data;
9
- },
10
- async getSkill(name) {
11
- const response = await apiGetSkill({ path: { name } });
12
- if (response.error)
13
- throw new Error(extractErrorMessage(response.error));
14
- return response.data;
15
- },
16
- async getSkillFiles(name) {
17
- const response = await apiListSkillFiles({ path: { name } });
18
- if (response.error)
19
- throw new Error(extractErrorMessage(response.error));
20
- return response.data;
21
- },
22
- async getSkillFileContent(name, filePath) {
23
- const response = await apiGetSkillFile({
24
- path: { name, filePath },
25
- });
26
- if (response.error)
27
- throw new Error(extractErrorMessage(response.error));
28
- return response.data;
29
- },
30
- };
31
- //# sourceMappingURL=skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/lib/api-client/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,IAAI,aAAa,EAC3B,QAAQ,IAAI,WAAW,EACvB,cAAc,IAAI,iBAAiB,EACnC,YAAY,IAAI,eAAe,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA0B9C,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,KAAK,CAAC,UAAU;QACf,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAAkC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QAC1B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAAmB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAAkC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,IAAY,EACZ,QAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACtC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,IAAyC,CAAC;IAC3D,CAAC;CACD,CAAC"}
@@ -1,65 +0,0 @@
1
- import { client } from '@ottocode/api';
2
- import { API_BASE_URL } from '../config';
3
- export function extractErrorMessage(error) {
4
- if (!error)
5
- return 'Unknown error';
6
- if (typeof error === 'string')
7
- return error;
8
- if (error && typeof error === 'object') {
9
- const errObj = error;
10
- if (errObj.error && typeof errObj.error === 'object') {
11
- const innerError = errObj.error;
12
- if (typeof innerError.message === 'string')
13
- return innerError.message;
14
- }
15
- if (typeof errObj.error === 'string')
16
- return errObj.error;
17
- if (typeof errObj.message === 'string')
18
- return errObj.message;
19
- try {
20
- return JSON.stringify(error);
21
- }
22
- catch {
23
- return 'Error occurred (unable to parse)';
24
- }
25
- }
26
- return 'Unknown error';
27
- }
28
- export function configureApiClient() {
29
- const win = window;
30
- const baseURL = win.OTTO_SERVER_URL || API_BASE_URL;
31
- client.setConfig({ baseURL });
32
- }
33
- configureApiClient();
34
- export function getBaseUrl() {
35
- const win = window;
36
- if (win.OTTO_SERVER_URL)
37
- return win.OTTO_SERVER_URL;
38
- return API_BASE_URL;
39
- }
40
- export function convertSession(apiSession) {
41
- return {
42
- ...apiSession,
43
- title: apiSession.title ?? null,
44
- createdAt: typeof apiSession.createdAt === 'string'
45
- ? new Date(apiSession.createdAt).getTime()
46
- : apiSession.createdAt,
47
- lastActiveAt: typeof apiSession.lastActiveAt === 'string'
48
- ? new Date(apiSession.lastActiveAt).getTime()
49
- : apiSession.lastActiveAt,
50
- };
51
- }
52
- export function convertMessage(apiMessage) {
53
- return {
54
- ...apiMessage,
55
- createdAt: typeof apiMessage.createdAt === 'string'
56
- ? new Date(apiMessage.createdAt).getTime()
57
- : apiMessage.createdAt,
58
- completedAt: apiMessage.completedAt
59
- ? typeof apiMessage.completedAt === 'string'
60
- ? new Date(apiMessage.completedAt).getTime()
61
- : apiMessage.completedAt
62
- : null,
63
- };
64
- }
65
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/api-client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC,MAAM,UAAU,mBAAmB,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,eAAe,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAgC,CAAC;YAC3D,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,UAAU,CAAC,OAAO,CAAC;QACvE,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC9D,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,kCAAkC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,MAAM,GAAG,GAAG,MAAgC,CAAC;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,kBAAkB,EAAE,CAAC;AAErB,MAAM,UAAU,UAAU;IACzB,MAAM,GAAG,GAAG,MAAgC,CAAC;IAC7C,IAAI,GAAG,CAAC,eAAe;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC;IACpD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAsB;IACpD,OAAO;QACN,GAAG,UAAU;QACb,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,IAAI;QAC/B,SAAS,EACR,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,UAAU,CAAC,SAAS;QACxB,YAAY,EACX,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ;YAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;YAC7C,CAAC,CAAC,UAAU,CAAC,YAAY;KAChB,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAsB;IACpD,OAAO;QACN,GAAG,UAAU;QACb,SAAS,EACR,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,UAAU,CAAC,SAAS;QACxB,WAAW,EAAE,UAAU,CAAC,WAAW;YAClC,CAAC,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;gBAC3C,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;gBAC5C,CAAC,CAAC,UAAU,CAAC,WAAW;YACzB,CAAC,CAAC,IAAI;KACI,CAAC;AACd,CAAC"}
@@ -1,124 +0,0 @@
1
- import { Terminal, Sparkles, Plus, Keyboard, Code, Brain, StopCircle, GitBranch, Check, Minimize2, Split, Trash2, Share2, RefreshCw, } from 'lucide-react';
2
- export const COMMANDS = [
3
- {
4
- id: 'models',
5
- label: '/models',
6
- description: 'Open model selector',
7
- icon: Sparkles,
8
- },
9
- {
10
- id: 'agents',
11
- label: '/agents',
12
- description: 'Open agent selector',
13
- icon: Terminal,
14
- },
15
- {
16
- id: 'new',
17
- label: '/new',
18
- description: 'Create new session',
19
- icon: Plus,
20
- },
21
- {
22
- id: 'stop',
23
- label: '/stop',
24
- description: 'Stop current generation',
25
- icon: StopCircle,
26
- },
27
- {
28
- id: 'help',
29
- label: '/help',
30
- description: 'Show keyboard shortcuts and help',
31
- icon: Keyboard,
32
- },
33
- {
34
- id: 'vim',
35
- label: '/vim',
36
- description: (state) => state.vimModeEnabled ? 'Disable Vim mode' : 'Enable Vim mode',
37
- icon: Code,
38
- },
39
- {
40
- id: 'reasoning',
41
- label: '/reasoning',
42
- description: (state) => state.reasoningEnabled
43
- ? 'Disable extended thinking'
44
- : 'Enable extended thinking',
45
- icon: Brain,
46
- },
47
- {
48
- id: 'stage',
49
- label: '/stage',
50
- description: 'Stage all changes (git add -A)',
51
- icon: GitBranch,
52
- },
53
- {
54
- id: 'commit',
55
- label: '/commit',
56
- description: 'Commit staged changes',
57
- icon: Check,
58
- },
59
- {
60
- id: 'compact',
61
- label: '/compact',
62
- description: 'Compact conversation to reduce context size',
63
- icon: Minimize2,
64
- },
65
- {
66
- id: 'branch',
67
- label: '/branch',
68
- description: 'Branch session from last message',
69
- icon: Split,
70
- },
71
- {
72
- id: 'delete',
73
- label: '/delete',
74
- description: 'Delete current session',
75
- icon: Trash2,
76
- },
77
- {
78
- id: 'share',
79
- label: '/share',
80
- description: 'Share session publicly',
81
- icon: Share2,
82
- },
83
- {
84
- id: 'sync',
85
- label: '/sync',
86
- description: 'Sync new messages to shared session',
87
- icon: RefreshCw,
88
- },
89
- ];
90
- export function getCommandDescription(cmd, state) {
91
- return typeof cmd.description === 'function'
92
- ? cmd.description(state)
93
- : cmd.description;
94
- }
95
- export function filterCommands(query, state) {
96
- const baseCommands = COMMANDS.filter((cmd) => {
97
- if (cmd.id === 'share' && state.isShared)
98
- return false;
99
- if (cmd.id === 'sync' && !state.isShared)
100
- return false;
101
- return true;
102
- });
103
- if (!query) {
104
- return baseCommands;
105
- }
106
- const lowerQuery = query.toLowerCase();
107
- const matches = [];
108
- for (const cmd of baseCommands) {
109
- const desc = getCommandDescription(cmd, state);
110
- const labelMatch = cmd.label.toLowerCase().includes(lowerQuery);
111
- const descriptionMatch = desc.toLowerCase().includes(lowerQuery);
112
- if (labelMatch || descriptionMatch) {
113
- const matchScore = labelMatch ? 10 : 5;
114
- matches.push({ ...cmd, matchScore });
115
- }
116
- }
117
- return matches.sort((a, b) => {
118
- const scoreDiff = b.matchScore - a.matchScore;
119
- if (scoreDiff !== 0)
120
- return scoreDiff;
121
- return a.label.localeCompare(b.label);
122
- });
123
- }
124
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- // This function will execute at runtime in the browser
2
- function computeApiBaseUrl() {
3
- // Check Vite env var first (for dev mode)
4
- const envUrl = import.meta.env?.VITE_API_BASE_URL;
5
- if (envUrl) {
6
- return envUrl;
7
- }
8
- // Check window object for injected values (for production)
9
- if (typeof window !== 'undefined') {
10
- const win = window;
11
- if (win.OTTO_SERVER_URL) {
12
- return win.OTTO_SERVER_URL;
13
- }
14
- if (win.__OTTO_API_URL__) {
15
- return win.__OTTO_API_URL__;
16
- }
17
- }
18
- // Fallback for standalone dev
19
- return 'http://localhost:9100';
20
- }
21
- export function getRuntimeApiBaseUrl() {
22
- return computeApiBaseUrl();
23
- }
24
- export const API_BASE_URL = computeApiBaseUrl();
25
- export const config = {
26
- apiBaseUrl: API_BASE_URL,
27
- };
28
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,uDAAuD;AACvD,SAAS,iBAAiB;IACzB,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IACf,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAoB,CAAC;QACjC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,eAAe,CAAC;QAC5B,CAAC;QACD,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,gBAAgB,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,OAAO,uBAAuB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,iBAAiB,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,UAAU,EAAE,YAAY;CACxB,CAAC"}
@@ -1,55 +0,0 @@
1
- export const NERD_FONT_FAMILY = '"JetBrainsMono NFM", monospace';
2
- let fontsLoaded = false;
3
- let loadPromise = null;
4
- export function loadNerdFont() {
5
- if (fontsLoaded)
6
- return Promise.resolve();
7
- if (loadPromise)
8
- return loadPromise;
9
- loadPromise = doLoad().then(() => {
10
- fontsLoaded = true;
11
- });
12
- return loadPromise;
13
- }
14
- export function isNerdFontLoaded() {
15
- return fontsLoaded;
16
- }
17
- async function doLoad() {
18
- if (typeof document === 'undefined' || !('FontFace' in window))
19
- return;
20
- const variants = [
21
- {
22
- file: 'JetBrainsMonoNerdFontMono-Regular.woff2',
23
- weight: '400',
24
- style: 'normal',
25
- },
26
- {
27
- file: 'JetBrainsMonoNerdFontMono-Bold.woff2',
28
- weight: '700',
29
- style: 'normal',
30
- },
31
- {
32
- file: 'JetBrainsMonoNerdFontMono-Italic.woff2',
33
- weight: '400',
34
- style: 'italic',
35
- },
36
- {
37
- file: 'JetBrainsMonoNerdFontMono-BoldItalic.woff2',
38
- weight: '700',
39
- style: 'italic',
40
- },
41
- ];
42
- const loads = variants.map(async (v) => {
43
- try {
44
- const url = new URL(`../assets/fonts/${v.file}`, import.meta.url).href;
45
- const face = new FontFace('JetBrainsMono NFM', `url("${url}") format("woff2")`, { weight: v.weight, style: v.style });
46
- const loaded = await face.load();
47
- document.fonts.add(loaded);
48
- }
49
- catch {
50
- // variant not available
51
- }
52
- });
53
- await Promise.allSettled(loads);
54
- }
55
- //# sourceMappingURL=nerd-font.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nerd-font.js","sourceRoot":"","sources":["../../src/lib/nerd-font.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAEjE,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,WAAW,GAAyB,IAAI,CAAC;AAE7C,MAAM,UAAU,YAAY;IAC3B,IAAI,WAAW;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,WAAW,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAChC,WAAW,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,MAAM;IACpB,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;QAAE,OAAO;IAEvE,MAAM,QAAQ,GAAG;QAChB;YACC,IAAI,EAAE,yCAAyC;YAC/C,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,QAAQ;SACf;QACD;YACC,IAAI,EAAE,sCAAsC;YAC5C,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,QAAQ;SACf;QACD;YACC,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,QAAQ;SACf;QACD;YACC,IAAI,EAAE,4CAA4C;YAClD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,QAAQ;SACf;KACD,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,QAAQ,CACxB,mBAAmB,EACnB,QAAQ,GAAG,oBAAoB,EAC/B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CACpC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACR,wBAAwB;QACzB,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC"}
@@ -1,9 +0,0 @@
1
- export function openUrl(url) {
2
- if (window.self !== window.top) {
3
- window.parent.postMessage({ type: 'otto-open-url', url }, '*');
4
- }
5
- else {
6
- window.open(url, '_blank', 'noopener,noreferrer');
7
- }
8
- }
9
- //# sourceMappingURL=open-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"open-url.js","sourceRoot":"","sources":["../../src/lib/open-url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;AACF,CAAC"}
@@ -1,30 +0,0 @@
1
- const RESEARCH_CONTEXT_REGEX = /<research-context\s+from="([^"]+)"\s+label="([^"]+)"[^>]*>([\s\S]*?)<\/research-context>/g;
2
- export function parseResearchContext(content) {
3
- const researchContexts = [];
4
- let cleanContent = content;
5
- const regex = new RegExp(RESEARCH_CONTEXT_REGEX);
6
- let match = regex.exec(content);
7
- while (match !== null) {
8
- const [fullMatch, from, label, innerContent] = match;
9
- researchContexts.push({
10
- id: from,
11
- from,
12
- label,
13
- content: innerContent.trim(),
14
- });
15
- cleanContent = cleanContent.replace(fullMatch, '');
16
- match = regex.exec(content);
17
- }
18
- cleanContent = cleanContent.trim();
19
- return {
20
- researchContexts,
21
- cleanContent,
22
- };
23
- }
24
- export function formatResearchContextForMessage(contexts) {
25
- if (contexts.length === 0)
26
- return '';
27
- // content is already the full XML from server, just join them
28
- return contexts.map((ctx) => ctx.content).join('\n\n');
29
- }
30
- //# sourceMappingURL=parseResearchContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseResearchContext.js","sourceRoot":"","sources":["../../src/lib/parseResearchContext.ts"],"names":[],"mappings":"AAYA,MAAM,sBAAsB,GAC3B,2FAA2F,CAAC;AAE7F,MAAM,UAAU,oBAAoB,CAAC,OAAe;IACnD,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IACrD,IAAI,YAAY,GAAG,OAAO,CAAC;IAE3B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QACrD,gBAAgB,CAAC,IAAI,CAAC;YACrB,EAAE,EAAE,IAAI;YACR,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACH,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO;QACN,gBAAgB;QAChB,YAAY;KACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC9C,QAAsE;IAEtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,8DAA8D;IAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}