@ottocode/web-sdk 0.1.226 → 0.1.228

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 (406) hide show
  1. package/dist/components/chat/FileMentionPopup.d.ts.map +1 -1
  2. package/dist/components/index.js +25158 -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 +4821 -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 +25928 -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/api-client/utils.d.ts.map +1 -1
  32. package/dist/lib/index.js +1016 -5
  33. package/dist/lib/index.js.map +22 -1
  34. package/dist/stores/index.js +693 -22
  35. package/dist/stores/index.js.map +30 -1
  36. package/dist/stores/toastStore.d.ts +1 -0
  37. package/dist/stores/toastStore.d.ts.map +1 -1
  38. package/dist/types/api.js +2 -2
  39. package/dist/types/api.js.map +9 -1
  40. package/package.json +4 -4
  41. package/dist/assets/provider-logos.js +0 -43
  42. package/dist/assets/provider-logos.js.map +0 -1
  43. package/dist/components/branch/BranchModal.js +0 -45
  44. package/dist/components/branch/BranchModal.js.map +0 -1
  45. package/dist/components/chat/ChatInput.js +0 -267
  46. package/dist/components/chat/ChatInput.js.map +0 -1
  47. package/dist/components/chat/ChatInputContainer.js +0 -295
  48. package/dist/components/chat/ChatInputContainer.js.map +0 -1
  49. package/dist/components/chat/ChatInputKeyHandler.js +0 -75
  50. package/dist/components/chat/ChatInputKeyHandler.js.map +0 -1
  51. package/dist/components/chat/CommandSuggestionsPopup.js +0 -45
  52. package/dist/components/chat/CommandSuggestionsPopup.js.map +0 -1
  53. package/dist/components/chat/ConfigModal.js +0 -46
  54. package/dist/components/chat/ConfigModal.js.map +0 -1
  55. package/dist/components/chat/ConfigSelector.js +0 -47
  56. package/dist/components/chat/ConfigSelector.js.map +0 -1
  57. package/dist/components/chat/FileMentionPopup.js +0 -138
  58. package/dist/components/chat/FileMentionPopup.js.map +0 -1
  59. package/dist/components/chat/ShortcutsModal.js +0 -275
  60. package/dist/components/chat/ShortcutsModal.js.map +0 -1
  61. package/dist/components/chat/StopButton.js +0 -25
  62. package/dist/components/chat/StopButton.js.map +0 -1
  63. package/dist/components/chat/UnifiedAgentSelector.js +0 -107
  64. package/dist/components/chat/UnifiedAgentSelector.js.map +0 -1
  65. package/dist/components/chat/UnifiedModelSelector.js +0 -209
  66. package/dist/components/chat/UnifiedModelSelector.js.map +0 -1
  67. package/dist/components/common/ProviderLogo.js +0 -30
  68. package/dist/components/common/ProviderLogo.js.map +0 -1
  69. package/dist/components/common/StatusIndicator.js +0 -54
  70. package/dist/components/common/StatusIndicator.js.map +0 -1
  71. package/dist/components/common/UsageModal.js +0 -55
  72. package/dist/components/common/UsageModal.js.map +0 -1
  73. package/dist/components/common/UsageRing.js +0 -22
  74. package/dist/components/common/UsageRing.js.map +0 -1
  75. package/dist/components/file-browser/FileBrowserSidebar.js +0 -50
  76. package/dist/components/file-browser/FileBrowserSidebar.js.map +0 -1
  77. package/dist/components/file-browser/FileBrowserSidebarToggle.js +0 -12
  78. package/dist/components/file-browser/FileBrowserSidebarToggle.js.map +0 -1
  79. package/dist/components/file-browser/FileViewerPanel.js +0 -85
  80. package/dist/components/file-browser/FileViewerPanel.js.map +0 -1
  81. package/dist/components/file-browser/QuickFilePicker.js +0 -118
  82. package/dist/components/file-browser/QuickFilePicker.js.map +0 -1
  83. package/dist/components/git/GitCommitModal.js +0 -70
  84. package/dist/components/git/GitCommitModal.js.map +0 -1
  85. package/dist/components/git/GitDiffPanel.js +0 -60
  86. package/dist/components/git/GitDiffPanel.js.map +0 -1
  87. package/dist/components/git/GitDiffViewer.js +0 -224
  88. package/dist/components/git/GitDiffViewer.js.map +0 -1
  89. package/dist/components/git/GitFileItem.js +0 -145
  90. package/dist/components/git/GitFileItem.js.map +0 -1
  91. package/dist/components/git/GitFileList.js +0 -108
  92. package/dist/components/git/GitFileList.js.map +0 -1
  93. package/dist/components/git/GitSidebar.js +0 -156
  94. package/dist/components/git/GitSidebar.js.map +0 -1
  95. package/dist/components/git/GitSidebarToggle.js +0 -18
  96. package/dist/components/git/GitSidebarToggle.js.map +0 -1
  97. package/dist/components/mcp/AddMCPServerModal.js +0 -166
  98. package/dist/components/mcp/AddMCPServerModal.js.map +0 -1
  99. package/dist/components/mcp/MCPSidebar.js +0 -192
  100. package/dist/components/mcp/MCPSidebar.js.map +0 -1
  101. package/dist/components/mcp/MCPSidebarToggle.js +0 -14
  102. package/dist/components/mcp/MCPSidebarToggle.js.map +0 -1
  103. package/dist/components/mcp/index.js +0 -4
  104. package/dist/components/mcp/index.js.map +0 -1
  105. package/dist/components/messages/AssistantMessageGroup.js +0 -176
  106. package/dist/components/messages/AssistantMessageGroup.js.map +0 -1
  107. package/dist/components/messages/MessagePartItem.js +0 -362
  108. package/dist/components/messages/MessagePartItem.js.map +0 -1
  109. package/dist/components/messages/MessageThread.js +0 -239
  110. package/dist/components/messages/MessageThread.js.map +0 -1
  111. package/dist/components/messages/MessageThreadContainer.js +0 -22
  112. package/dist/components/messages/MessageThreadContainer.js.map +0 -1
  113. package/dist/components/messages/ToolApprovalCard.js +0 -143
  114. package/dist/components/messages/ToolApprovalCard.js.map +0 -1
  115. package/dist/components/messages/TopupApprovalCard.js +0 -52
  116. package/dist/components/messages/TopupApprovalCard.js.map +0 -1
  117. package/dist/components/messages/UserMessageGroup.js +0 -132
  118. package/dist/components/messages/UserMessageGroup.js.map +0 -1
  119. package/dist/components/messages/renderers/ApplyPatchRenderer.js +0 -55
  120. package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +0 -1
  121. package/dist/components/messages/renderers/BashRenderer.js +0 -55
  122. package/dist/components/messages/renderers/BashRenderer.js.map +0 -1
  123. package/dist/components/messages/renderers/DatabaseToolRenderer.js +0 -151
  124. package/dist/components/messages/renderers/DatabaseToolRenderer.js.map +0 -1
  125. package/dist/components/messages/renderers/DebugRenderer.js +0 -5
  126. package/dist/components/messages/renderers/DebugRenderer.js.map +0 -1
  127. package/dist/components/messages/renderers/DiffView.js +0 -206
  128. package/dist/components/messages/renderers/DiffView.js.map +0 -1
  129. package/dist/components/messages/renderers/EditRenderer.js +0 -25
  130. package/dist/components/messages/renderers/EditRenderer.js.map +0 -1
  131. package/dist/components/messages/renderers/ErrorRenderer.js +0 -162
  132. package/dist/components/messages/renderers/ErrorRenderer.js.map +0 -1
  133. package/dist/components/messages/renderers/FinishRenderer.js +0 -7
  134. package/dist/components/messages/renderers/FinishRenderer.js.map +0 -1
  135. package/dist/components/messages/renderers/GenericRenderer.js +0 -50
  136. package/dist/components/messages/renderers/GenericRenderer.js.map +0 -1
  137. package/dist/components/messages/renderers/GitCommitRenderer.js +0 -21
  138. package/dist/components/messages/renderers/GitCommitRenderer.js.map +0 -1
  139. package/dist/components/messages/renderers/GitDiffRenderer.js +0 -34
  140. package/dist/components/messages/renderers/GitDiffRenderer.js.map +0 -1
  141. package/dist/components/messages/renderers/GitStatusRenderer.js +0 -60
  142. package/dist/components/messages/renderers/GitStatusRenderer.js.map +0 -1
  143. package/dist/components/messages/renderers/ListRenderer.js +0 -28
  144. package/dist/components/messages/renderers/ListRenderer.js.map +0 -1
  145. package/dist/components/messages/renderers/LoadMcpToolsRenderer.js +0 -20
  146. package/dist/components/messages/renderers/LoadMcpToolsRenderer.js.map +0 -1
  147. package/dist/components/messages/renderers/McpToolRenderer.js +0 -68
  148. package/dist/components/messages/renderers/McpToolRenderer.js.map +0 -1
  149. package/dist/components/messages/renderers/ProgressUpdateRenderer.js +0 -9
  150. package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +0 -1
  151. package/dist/components/messages/renderers/ReadRenderer.js +0 -87
  152. package/dist/components/messages/renderers/ReadRenderer.js.map +0 -1
  153. package/dist/components/messages/renderers/ReasoningRenderer.js +0 -34
  154. package/dist/components/messages/renderers/ReasoningRenderer.js.map +0 -1
  155. package/dist/components/messages/renderers/SearchRenderer.js +0 -52
  156. package/dist/components/messages/renderers/SearchRenderer.js.map +0 -1
  157. package/dist/components/messages/renderers/SkillRenderer.js +0 -36
  158. package/dist/components/messages/renderers/SkillRenderer.js.map +0 -1
  159. package/dist/components/messages/renderers/TerminalRenderer.js +0 -84
  160. package/dist/components/messages/renderers/TerminalRenderer.js.map +0 -1
  161. package/dist/components/messages/renderers/TodosRenderer.js +0 -15
  162. package/dist/components/messages/renderers/TodosRenderer.js.map +0 -1
  163. package/dist/components/messages/renderers/ToolErrorDisplay.js +0 -10
  164. package/dist/components/messages/renderers/ToolErrorDisplay.js.map +0 -1
  165. package/dist/components/messages/renderers/TreeRenderer.js +0 -33
  166. package/dist/components/messages/renderers/TreeRenderer.js.map +0 -1
  167. package/dist/components/messages/renderers/WebSearchRenderer.js +0 -29
  168. package/dist/components/messages/renderers/WebSearchRenderer.js.map +0 -1
  169. package/dist/components/messages/renderers/WriteRenderer.js +0 -28
  170. package/dist/components/messages/renderers/WriteRenderer.js.map +0 -1
  171. package/dist/components/messages/renderers/index.js +0 -129
  172. package/dist/components/messages/renderers/index.js.map +0 -1
  173. package/dist/components/messages/renderers/shared/CopyButton.js +0 -27
  174. package/dist/components/messages/renderers/shared/CopyButton.js.map +0 -1
  175. package/dist/components/messages/renderers/shared/ImagePreview.js +0 -14
  176. package/dist/components/messages/renderers/shared/ImagePreview.js.map +0 -1
  177. package/dist/components/messages/renderers/shared/ToolContentBox.js +0 -9
  178. package/dist/components/messages/renderers/shared/ToolContentBox.js.map +0 -1
  179. package/dist/components/messages/renderers/shared/ToolHeader.js +0 -69
  180. package/dist/components/messages/renderers/shared/ToolHeader.js.map +0 -1
  181. package/dist/components/messages/renderers/shared/index.js +0 -5
  182. package/dist/components/messages/renderers/shared/index.js.map +0 -1
  183. package/dist/components/messages/renderers/types.js +0 -2
  184. package/dist/components/messages/renderers/types.js.map +0 -1
  185. package/dist/components/messages/renderers/utils.js +0 -60
  186. package/dist/components/messages/renderers/utils.js.map +0 -1
  187. package/dist/components/onboarding/OnboardingModal.js +0 -22
  188. package/dist/components/onboarding/OnboardingModal.js.map +0 -1
  189. package/dist/components/onboarding/index.js +0 -4
  190. package/dist/components/onboarding/index.js.map +0 -1
  191. package/dist/components/onboarding/steps/DefaultsStep.js +0 -104
  192. package/dist/components/onboarding/steps/DefaultsStep.js.map +0 -1
  193. package/dist/components/onboarding/steps/ProviderSetupStep.js +0 -398
  194. package/dist/components/onboarding/steps/ProviderSetupStep.js.map +0 -1
  195. package/dist/components/research/ResearchSidebar.js +0 -288
  196. package/dist/components/research/ResearchSidebar.js.map +0 -1
  197. package/dist/components/research/ResearchSidebarToggle.js +0 -15
  198. package/dist/components/research/ResearchSidebarToggle.js.map +0 -1
  199. package/dist/components/research/index.js +0 -3
  200. package/dist/components/research/index.js.map +0 -1
  201. package/dist/components/session-files/SessionFilesDiffPanel.js +0 -345
  202. package/dist/components/session-files/SessionFilesDiffPanel.js.map +0 -1
  203. package/dist/components/session-files/SessionFilesSidebar.js +0 -87
  204. package/dist/components/session-files/SessionFilesSidebar.js.map +0 -1
  205. package/dist/components/session-files/SessionFilesSidebarToggle.js +0 -15
  206. package/dist/components/session-files/SessionFilesSidebarToggle.js.map +0 -1
  207. package/dist/components/session-files/index.js +0 -4
  208. package/dist/components/session-files/index.js.map +0 -1
  209. package/dist/components/sessions/EditableTitle.js +0 -40
  210. package/dist/components/sessions/EditableTitle.js.map +0 -1
  211. package/dist/components/sessions/LeanHeader.js +0 -70
  212. package/dist/components/sessions/LeanHeader.js.map +0 -1
  213. package/dist/components/sessions/SessionHeader.js +0 -75
  214. package/dist/components/sessions/SessionHeader.js.map +0 -1
  215. package/dist/components/sessions/SessionItem.js +0 -28
  216. package/dist/components/sessions/SessionItem.js.map +0 -1
  217. package/dist/components/sessions/SessionListContainer.js +0 -86
  218. package/dist/components/sessions/SessionListContainer.js.map +0 -1
  219. package/dist/components/settings/SettingsSidebar.js +0 -212
  220. package/dist/components/settings/SettingsSidebar.js.map +0 -1
  221. package/dist/components/settings/SettingsSidebarToggle.js +0 -12
  222. package/dist/components/settings/SettingsSidebarToggle.js.map +0 -1
  223. package/dist/components/settings/SetuTopupModal.js +0 -306
  224. package/dist/components/settings/SetuTopupModal.js.map +0 -1
  225. package/dist/components/skills/SkillViewerPanel.js +0 -89
  226. package/dist/components/skills/SkillViewerPanel.js.map +0 -1
  227. package/dist/components/skills/SkillsSidebar.js +0 -59
  228. package/dist/components/skills/SkillsSidebar.js.map +0 -1
  229. package/dist/components/skills/SkillsSidebarToggle.js +0 -12
  230. package/dist/components/skills/SkillsSidebarToggle.js.map +0 -1
  231. package/dist/components/skills/index.js +0 -4
  232. package/dist/components/skills/index.js.map +0 -1
  233. package/dist/components/terminals/TerminalPanelToggle.js +0 -13
  234. package/dist/components/terminals/TerminalPanelToggle.js.map +0 -1
  235. package/dist/components/terminals/TerminalTabBar.js +0 -22
  236. package/dist/components/terminals/TerminalTabBar.js.map +0 -1
  237. package/dist/components/terminals/TerminalViewer.js +0 -371
  238. package/dist/components/terminals/TerminalViewer.js.map +0 -1
  239. package/dist/components/terminals/TerminalsPanel.js +0 -134
  240. package/dist/components/terminals/TerminalsPanel.js.map +0 -1
  241. package/dist/components/terminals/index.js +0 -11
  242. package/dist/components/terminals/index.js.map +0 -1
  243. package/dist/components/tunnel/TunnelSidebar.js +0 -55
  244. package/dist/components/tunnel/TunnelSidebar.js.map +0 -1
  245. package/dist/components/tunnel/TunnelSidebarToggle.js +0 -14
  246. package/dist/components/tunnel/TunnelSidebarToggle.js.map +0 -1
  247. package/dist/components/tunnel/index.js +0 -3
  248. package/dist/components/tunnel/index.js.map +0 -1
  249. package/dist/components/ui/Button.js +0 -19
  250. package/dist/components/ui/Button.js.map +0 -1
  251. package/dist/components/ui/Card.js +0 -7
  252. package/dist/components/ui/Card.js.map +0 -1
  253. package/dist/components/ui/ConfirmationDialog.js +0 -72
  254. package/dist/components/ui/ConfirmationDialog.js.map +0 -1
  255. package/dist/components/ui/Input.js +0 -7
  256. package/dist/components/ui/Input.js.map +0 -1
  257. package/dist/components/ui/Modal.js +0 -51
  258. package/dist/components/ui/Modal.js.map +0 -1
  259. package/dist/components/ui/ResizeHandle.js +0 -39
  260. package/dist/components/ui/ResizeHandle.js.map +0 -1
  261. package/dist/components/ui/Textarea.js +0 -7
  262. package/dist/components/ui/Textarea.js.map +0 -1
  263. package/dist/components/ui/Toaster.js +0 -41
  264. package/dist/components/ui/Toaster.js.map +0 -1
  265. package/dist/components/ui/ToolApprovalDialog.js +0 -57
  266. package/dist/components/ui/ToolApprovalDialog.js.map +0 -1
  267. package/dist/hooks/useAuthStatus.js +0 -287
  268. package/dist/hooks/useAuthStatus.js.map +0 -1
  269. package/dist/hooks/useBranch.js +0 -44
  270. package/dist/hooks/useBranch.js.map +0 -1
  271. package/dist/hooks/useCommandSuggestions.js +0 -86
  272. package/dist/hooks/useCommandSuggestions.js.map +0 -1
  273. package/dist/hooks/useConfig.js +0 -32
  274. package/dist/hooks/useConfig.js.map +0 -1
  275. package/dist/hooks/useFileBrowser.js +0 -30
  276. package/dist/hooks/useFileBrowser.js.map +0 -1
  277. package/dist/hooks/useFileMention.js +0 -56
  278. package/dist/hooks/useFileMention.js.map +0 -1
  279. package/dist/hooks/useFileUpload.js +0 -317
  280. package/dist/hooks/useFileUpload.js.map +0 -1
  281. package/dist/hooks/useFiles.js +0 -15
  282. package/dist/hooks/useFiles.js.map +0 -1
  283. package/dist/hooks/useGit.js +0 -149
  284. package/dist/hooks/useGit.js.map +0 -1
  285. package/dist/hooks/useImageUpload.js +0 -197
  286. package/dist/hooks/useImageUpload.js.map +0 -1
  287. package/dist/hooks/useKeyboardShortcuts.js +0 -249
  288. package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
  289. package/dist/hooks/useMCP.js +0 -202
  290. package/dist/hooks/useMCP.js.map +0 -1
  291. package/dist/hooks/useMessages.js +0 -26
  292. package/dist/hooks/useMessages.js.map +0 -1
  293. package/dist/hooks/usePreferences.js +0 -61
  294. package/dist/hooks/usePreferences.js.map +0 -1
  295. package/dist/hooks/useProviderUsage.js +0 -44
  296. package/dist/hooks/useProviderUsage.js.map +0 -1
  297. package/dist/hooks/useQueueState.js +0 -31
  298. package/dist/hooks/useQueueState.js.map +0 -1
  299. package/dist/hooks/useResearch.js +0 -139
  300. package/dist/hooks/useResearch.js.map +0 -1
  301. package/dist/hooks/useSessionFiles.js +0 -15
  302. package/dist/hooks/useSessionFiles.js.map +0 -1
  303. package/dist/hooks/useSessionStream.js +0 -572
  304. package/dist/hooks/useSessionStream.js.map +0 -1
  305. package/dist/hooks/useSessions.js +0 -83
  306. package/dist/hooks/useSessions.js.map +0 -1
  307. package/dist/hooks/useSetuBalance.js +0 -71
  308. package/dist/hooks/useSetuBalance.js.map +0 -1
  309. package/dist/hooks/useSetuPayments.js +0 -171
  310. package/dist/hooks/useSetuPayments.js.map +0 -1
  311. package/dist/hooks/useShareStatus.js +0 -12
  312. package/dist/hooks/useShareStatus.js.map +0 -1
  313. package/dist/hooks/useSkills.js +0 -54
  314. package/dist/hooks/useSkills.js.map +0 -1
  315. package/dist/hooks/useTerminals.js +0 -67
  316. package/dist/hooks/useTerminals.js.map +0 -1
  317. package/dist/hooks/useTheme.js +0 -57
  318. package/dist/hooks/useTheme.js.map +0 -1
  319. package/dist/hooks/useToolApprovalShortcuts.js +0 -88
  320. package/dist/hooks/useToolApprovalShortcuts.js.map +0 -1
  321. package/dist/hooks/useTopupCallback.js +0 -74
  322. package/dist/hooks/useTopupCallback.js.map +0 -1
  323. package/dist/hooks/useTunnel.js +0 -158
  324. package/dist/hooks/useTunnel.js.map +0 -1
  325. package/dist/hooks/useVimMode.js +0 -298
  326. package/dist/hooks/useVimMode.js.map +0 -1
  327. package/dist/hooks/useWorkingDirectory.js +0 -34
  328. package/dist/hooks/useWorkingDirectory.js.map +0 -1
  329. package/dist/lib/api-client/approval.js +0 -25
  330. package/dist/lib/api-client/approval.js.map +0 -1
  331. package/dist/lib/api-client/auth.js +0 -139
  332. package/dist/lib/api-client/auth.js.map +0 -1
  333. package/dist/lib/api-client/branches.js +0 -45
  334. package/dist/lib/api-client/branches.js.map +0 -1
  335. package/dist/lib/api-client/config.js +0 -38
  336. package/dist/lib/api-client/config.js.map +0 -1
  337. package/dist/lib/api-client/files.js +0 -35
  338. package/dist/lib/api-client/files.js.map +0 -1
  339. package/dist/lib/api-client/git.js +0 -154
  340. package/dist/lib/api-client/git.js.map +0 -1
  341. package/dist/lib/api-client/index.js +0 -92
  342. package/dist/lib/api-client/index.js.map +0 -1
  343. package/dist/lib/api-client/sessions.js +0 -106
  344. package/dist/lib/api-client/sessions.js.map +0 -1
  345. package/dist/lib/api-client/setu.js +0 -144
  346. package/dist/lib/api-client/setu.js.map +0 -1
  347. package/dist/lib/api-client/skills.js +0 -31
  348. package/dist/lib/api-client/skills.js.map +0 -1
  349. package/dist/lib/api-client/utils.js +0 -65
  350. package/dist/lib/api-client/utils.js.map +0 -1
  351. package/dist/lib/commands.js +0 -124
  352. package/dist/lib/commands.js.map +0 -1
  353. package/dist/lib/config.js +0 -28
  354. package/dist/lib/config.js.map +0 -1
  355. package/dist/lib/nerd-font.js +0 -55
  356. package/dist/lib/nerd-font.js.map +0 -1
  357. package/dist/lib/open-url.js +0 -9
  358. package/dist/lib/open-url.js.map +0 -1
  359. package/dist/lib/parseResearchContext.js +0 -30
  360. package/dist/lib/parseResearchContext.js.map +0 -1
  361. package/dist/lib/sse-client.js +0 -113
  362. package/dist/lib/sse-client.js.map +0 -1
  363. package/dist/stores/confirmationStore.js +0 -27
  364. package/dist/stores/confirmationStore.js.map +0 -1
  365. package/dist/stores/fileBrowserStore.js +0 -63
  366. package/dist/stores/fileBrowserStore.js.map +0 -1
  367. package/dist/stores/filePickerStore.js +0 -8
  368. package/dist/stores/filePickerStore.js.map +0 -1
  369. package/dist/stores/focusStore.js +0 -12
  370. package/dist/stores/focusStore.js.map +0 -1
  371. package/dist/stores/gitStore.js +0 -63
  372. package/dist/stores/gitStore.js.map +0 -1
  373. package/dist/stores/mcpStore.js +0 -63
  374. package/dist/stores/mcpStore.js.map +0 -1
  375. package/dist/stores/onboardingStore.js +0 -38
  376. package/dist/stores/onboardingStore.js.map +0 -1
  377. package/dist/stores/panelWidthStore.js +0 -12
  378. package/dist/stores/panelWidthStore.js.map +0 -1
  379. package/dist/stores/pendingResearchStore.js +0 -38
  380. package/dist/stores/pendingResearchStore.js.map +0 -1
  381. package/dist/stores/queueStore.js +0 -11
  382. package/dist/stores/queueStore.js.map +0 -1
  383. package/dist/stores/researchStore.js +0 -54
  384. package/dist/stores/researchStore.js.map +0 -1
  385. package/dist/stores/sessionFilesStore.js +0 -62
  386. package/dist/stores/sessionFilesStore.js.map +0 -1
  387. package/dist/stores/settingsStore.js +0 -29
  388. package/dist/stores/settingsStore.js.map +0 -1
  389. package/dist/stores/setuStore.js +0 -29
  390. package/dist/stores/setuStore.js.map +0 -1
  391. package/dist/stores/sidebarStore.js +0 -10
  392. package/dist/stores/sidebarStore.js.map +0 -1
  393. package/dist/stores/skillsStore.js +0 -46
  394. package/dist/stores/skillsStore.js.map +0 -1
  395. package/dist/stores/terminalStore.js +0 -32
  396. package/dist/stores/terminalStore.js.map +0 -1
  397. package/dist/stores/toastStore.js +0 -46
  398. package/dist/stores/toastStore.js.map +0 -1
  399. package/dist/stores/toolApprovalStore.js +0 -16
  400. package/dist/stores/toolApprovalStore.js.map +0 -1
  401. package/dist/stores/topupApprovalStore.js +0 -11
  402. package/dist/stores/topupApprovalStore.js.map +0 -1
  403. package/dist/stores/tunnelStore.js +0 -55
  404. package/dist/stores/tunnelStore.js.map +0 -1
  405. package/dist/stores/usageStore.js +0 -14
  406. 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":"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"}
@@ -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"}