@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,129 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { ReadRenderer } from './ReadRenderer';
4
- import { WriteRenderer } from './WriteRenderer';
5
- import { EditRenderer } from './EditRenderer';
6
- import { BashRenderer } from './BashRenderer';
7
- import { GitStatusRenderer } from './GitStatusRenderer';
8
- import { GitDiffRenderer } from './GitDiffRenderer';
9
- import { GitCommitRenderer } from './GitCommitRenderer';
10
- import { ApplyPatchRenderer } from './ApplyPatchRenderer';
11
- import { ListRenderer } from './ListRenderer';
12
- import { TreeRenderer } from './TreeRenderer';
13
- import { SearchRenderer } from './SearchRenderer';
14
- import { FinishRenderer } from './FinishRenderer';
15
- import { GenericRenderer } from './GenericRenderer';
16
- import { DebugRenderer } from './DebugRenderer';
17
- import { TodosRenderer } from './TodosRenderer';
18
- import { ProgressUpdateRenderer } from './ProgressUpdateRenderer';
19
- import { WebSearchRenderer } from './WebSearchRenderer';
20
- import { ErrorRenderer } from './ErrorRenderer';
21
- import { DatabaseToolRenderer } from './DatabaseToolRenderer';
22
- import { TerminalRenderer } from './TerminalRenderer';
23
- import { McpToolRenderer, isMcpTool } from './McpToolRenderer';
24
- import { LoadMcpToolsRenderer } from './LoadMcpToolsRenderer';
25
- import { SkillRenderer } from './SkillRenderer';
26
- /**
27
- * Normalize tool names to canonical form for rendering.
28
- * Handles both snake_case (canonical) and PascalCase (OAuth) names.
29
- */
30
- const TOOL_NAME_ALIASES = {
31
- Read: 'read',
32
- Write: 'write',
33
- Edit: 'edit',
34
- Ls: 'ls',
35
- Tree: 'tree',
36
- Cd: 'cd',
37
- Pwd: 'pwd',
38
- Glob: 'glob',
39
- Grep: 'ripgrep',
40
- Bash: 'bash',
41
- Terminal: 'terminal',
42
- GitStatus: 'git_status',
43
- GitDiff: 'git_diff',
44
- GitCommit: 'git_commit',
45
- ApplyPatch: 'apply_patch',
46
- UpdateTodos: 'update_todos',
47
- UpdatePlan: 'update_todos',
48
- ProgressUpdate: 'progress_update',
49
- Finish: 'finish',
50
- WebSearch: 'websearch',
51
- LoadMcpTools: 'load_mcp_tools',
52
- Skill: 'skill',
53
- };
54
- function normalizeToolName(name) {
55
- return TOOL_NAME_ALIASES[name] ?? name;
56
- }
57
- export function ToolResultRenderer({ toolName, contentJson, toolDurationMs, debug, onNavigateToSession, compact, sessionId, onRetry, onCompact, }) {
58
- const [isExpanded, setIsExpanded] = useState(false);
59
- const normalizedName = normalizeToolName(toolName);
60
- const handleToggle = () => setIsExpanded(!isExpanded);
61
- const props = {
62
- contentJson,
63
- toolDurationMs: toolDurationMs ?? undefined,
64
- isExpanded,
65
- onToggle: handleToggle,
66
- compact,
67
- };
68
- if (debug) {
69
- return _jsx(DebugRenderer, { ...props, toolName: toolName });
70
- }
71
- switch (normalizedName) {
72
- case 'read':
73
- return _jsx(ReadRenderer, { ...props });
74
- case 'write':
75
- return _jsx(WriteRenderer, { ...props });
76
- case 'edit':
77
- return _jsx(EditRenderer, { ...props });
78
- case 'bash':
79
- return _jsx(BashRenderer, { ...props });
80
- case 'git_status':
81
- return _jsx(GitStatusRenderer, { ...props });
82
- case 'git_diff':
83
- return _jsx(GitDiffRenderer, { ...props });
84
- case 'git_commit':
85
- return _jsx(GitCommitRenderer, { ...props });
86
- case 'apply_patch':
87
- return _jsx(ApplyPatchRenderer, { ...props });
88
- case 'terminal':
89
- return _jsx(TerminalRenderer, { ...props });
90
- case 'ls':
91
- return _jsx(ListRenderer, { ...props });
92
- case 'tree':
93
- return _jsx(TreeRenderer, { ...props });
94
- case 'ripgrep':
95
- case 'grep':
96
- case 'glob':
97
- return _jsx(SearchRenderer, { ...props });
98
- case 'websearch':
99
- return _jsx(WebSearchRenderer, { ...props });
100
- case 'finish':
101
- return _jsx(FinishRenderer, { ...props });
102
- case 'update_todos':
103
- case 'update_plan':
104
- return _jsx(TodosRenderer, { ...props });
105
- case 'progress_update':
106
- return _jsx(ProgressUpdateRenderer, { ...props });
107
- case 'load_mcp_tools':
108
- return _jsx(LoadMcpToolsRenderer, { ...props });
109
- case 'skill':
110
- return _jsx(SkillRenderer, { ...props });
111
- case 'error':
112
- return (_jsx(ErrorRenderer, { ...props, sessionId: sessionId, onRetry: onRetry, onCompact: onCompact }));
113
- case 'query_sessions':
114
- case 'query_messages':
115
- case 'search_history':
116
- case 'get_session_context':
117
- case 'get_parent_session':
118
- case 'present_action':
119
- return (_jsx(DatabaseToolRenderer, { toolName: toolName, ...props, onNavigateToSession: onNavigateToSession }));
120
- default:
121
- if (isMcpTool(normalizedName)) {
122
- return _jsx(McpToolRenderer, { ...props, toolName: toolName });
123
- }
124
- return _jsx(GenericRenderer, { ...props, toolName: toolName });
125
- }
126
- }
127
- export * from './types';
128
- export { ReasoningRenderer } from './ReasoningRenderer';
129
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/index.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { Copy, Check } from 'lucide-react';
4
- const sizeClasses = {
5
- sm: 'h-3 w-3',
6
- md: 'h-4 w-4',
7
- lg: 'h-5 w-5',
8
- };
9
- const paddingClasses = {
10
- sm: 'p-1',
11
- md: 'p-1.5',
12
- lg: 'p-2',
13
- };
14
- export function CopyButton({ text, className = '', size = 'sm', }) {
15
- const [copied, setCopied] = useState(false);
16
- const handleCopy = async (e) => {
17
- e.stopPropagation();
18
- try {
19
- await navigator.clipboard.writeText(text);
20
- setCopied(true);
21
- setTimeout(() => setCopied(false), 2000);
22
- }
23
- catch { }
24
- };
25
- return (_jsx("button", { type: "button", onClick: handleCopy, className: `${paddingClasses[size]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${className}`, title: "Copy", children: copied ? (_jsx(Check, { className: `${sizeClasses[size]} text-emerald-500` })) : (_jsx(Copy, { className: sizeClasses[size] })) }));
26
- }
27
- //# sourceMappingURL=CopyButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../../../../src/components/messages/renderers/shared/CopyButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACb,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,KAAK;CACT,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,EAC1B,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,IAAI,GAAG,IAAI,GACM;IACjB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,KAAK,EAAE,CAAmB,EAAE,EAAE;QAChD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC,CAAC;IAEF,OAAO,CACN,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,4FAA4F,SAAS,EAAE,EACzI,KAAK,EAAC,MAAM,YAEX,MAAM,CAAC,CAAC,CAAC,CACT,KAAC,KAAK,IAAC,SAAS,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,GAAI,CAC7D,CAAC,CAAC,CAAC,CACH,KAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,GAAI,CACtC,GACO,CACT,CAAC;AACH,CAAC"}
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { ImageIcon, X } from 'lucide-react';
4
- export function ImagePreview({ images }) {
5
- const [expandedIndex, setExpandedIndex] = useState(null);
6
- if (images.length === 0)
7
- return null;
8
- return (_jsx("div", { className: "flex flex-wrap gap-2 mt-2", children: images.map((img, i) => {
9
- const src = `data:${img.mimeType};base64,${img.data}`;
10
- const isExpanded = expandedIndex === i;
11
- return (_jsx("div", { className: "relative", children: isExpanded ? (_jsxs("div", { className: "relative", children: [_jsx("button", { type: "button", onClick: () => setExpandedIndex(null), className: "absolute top-1 right-1 z-10 p-0.5 rounded bg-black/60 text-white hover:bg-black/80 transition-colors", children: _jsx(X, { className: "h-3 w-3" }) }), _jsx("img", { src: src, alt: `Tool result ${i + 1}`, className: "max-w-full max-h-[32rem] rounded-lg border border-border object-contain" })] })) : (_jsxs("button", { type: "button", onClick: () => setExpandedIndex(i), className: "group relative overflow-hidden rounded-lg border border-border hover:border-foreground/30 transition-colors", children: [_jsx("img", { src: src, alt: `Tool result ${i + 1}`, className: "w-48 h-32 object-cover" }), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors flex items-center justify-center", children: _jsx(ImageIcon, { className: "h-5 w-5 text-white opacity-0 group-hover:opacity-80 transition-opacity drop-shadow-lg" }) })] })) }, `img-${i}-${img.mimeType}`));
12
- }) }));
13
- }
14
- //# sourceMappingURL=ImagePreview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImagePreview.js","sourceRoot":"","sources":["../../../../../src/components/messages/renderers/shared/ImagePreview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAW5C,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAqB;IACzD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,CACN,cAAK,SAAS,EAAC,2BAA2B,YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,QAAQ,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,aAAa,KAAK,CAAC,CAAC;YAEvC,OAAO,CACN,cAAsC,SAAS,EAAC,UAAU,YACxD,UAAU,CAAC,CAAC,CAAC,CACb,eAAK,SAAS,EAAC,UAAU,aACxB,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACrC,SAAS,EAAC,sGAAsG,YAEhH,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GACjB,EACT,cACC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EAC3B,SAAS,EAAC,yEAAyE,GAClF,IACG,CACN,CAAC,CAAC,CAAC,CACH,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAClC,SAAS,EAAC,6GAA6G,aAEvH,cACC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EAC3B,SAAS,EAAC,wBAAwB,GACjC,EACF,cAAK,SAAS,EAAC,wGAAwG,YACtH,KAAC,SAAS,IAAC,SAAS,EAAC,uFAAuF,GAAG,GAC1G,IACE,CACT,IA/BQ,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAgC9B,CACN,CAAC;QACH,CAAC,CAAC,GACG,CACN,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CopyButton } from './CopyButton';
3
- export function ToolContentBox({ title, icon, subtitle, copyText, variant = 'default', maxHeight = 'max-h-80', children, }) {
4
- const isError = variant === 'error';
5
- return (_jsxs("div", { className: `bg-card/60 border rounded-lg overflow-hidden flex flex-col ${maxHeight} ${isError ? 'border-red-500/50' : 'border-border'}`, children: [_jsxs("div", { className: `flex items-center justify-between gap-2 text-xs px-3 py-1.5 border-b border-border sticky top-0 ${isError
6
- ? 'text-red-600 dark:text-red-400 bg-red-500/10'
7
- : 'text-muted-foreground bg-muted/30'}`, children: [_jsxs("div", { className: "flex items-center gap-2", children: [icon, _jsx("span", { children: title }), subtitle && (_jsx("span", { className: "text-muted-foreground/60", children: subtitle }))] }), copyText && _jsx(CopyButton, { text: copyText })] }), _jsx("div", { className: "overflow-auto flex-1", children: children })] }));
8
- }
9
- //# sourceMappingURL=ToolContentBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolContentBox.js","sourceRoot":"","sources":["../../../../../src/components/messages/renderers/shared/ToolContentBox.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY1C,MAAM,UAAU,cAAc,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,UAAU,EACtB,QAAQ,GACa;IACrB,MAAM,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC;IAEpC,OAAO,CACN,eACC,SAAS,EAAE,8DAA8D,SAAS,IACjF,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eACjC,EAAE,aAEF,eACC,SAAS,EAAE,mGACV,OAAO;oBACN,CAAC,CAAC,8CAA8C;oBAChD,CAAC,CAAC,mCACJ,EAAE,aAEF,eAAK,SAAS,EAAC,yBAAyB,aACtC,IAAI,EACL,yBAAO,KAAK,GAAQ,EACnB,QAAQ,IAAI,CACZ,eAAM,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAQ,CAC5D,IACI,EACL,QAAQ,IAAI,KAAC,UAAU,IAAC,IAAI,EAAE,QAAQ,GAAI,IACtC,EACN,cAAK,SAAS,EAAC,sBAAsB,YAAE,QAAQ,GAAO,IACjD,CACN,CAAC;AACH,CAAC"}
@@ -1,69 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronDown, ChevronRight, AlertCircle } from 'lucide-react';
3
- const colorClasses = {
4
- default: {
5
- normal: 'text-muted-foreground',
6
- hover: 'hover:text-foreground',
7
- error: 'text-red-700 dark:text-red-300',
8
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
9
- },
10
- blue: {
11
- normal: 'text-blue-700 dark:text-blue-300',
12
- hover: 'hover:text-blue-600 dark:hover:text-blue-200',
13
- error: 'text-red-700 dark:text-red-300',
14
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
15
- },
16
- emerald: {
17
- normal: 'text-emerald-700 dark:text-emerald-300',
18
- hover: 'hover:text-emerald-600 dark:hover:text-emerald-200',
19
- error: 'text-red-700 dark:text-red-300',
20
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
21
- },
22
- purple: {
23
- normal: 'text-purple-700 dark:text-purple-300',
24
- hover: 'hover:text-purple-600 dark:hover:text-purple-200',
25
- error: 'text-red-700 dark:text-red-300',
26
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
27
- },
28
- cyan: {
29
- normal: 'text-cyan-700 dark:text-cyan-300',
30
- hover: 'hover:text-cyan-600 dark:hover:text-cyan-200',
31
- error: 'text-red-700 dark:text-red-300',
32
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
33
- },
34
- amber: {
35
- normal: 'text-amber-700 dark:text-amber-300',
36
- hover: 'hover:text-amber-600 dark:hover:text-amber-200',
37
- error: 'text-red-700 dark:text-red-300',
38
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
39
- },
40
- red: {
41
- normal: 'text-red-700 dark:text-red-300',
42
- hover: 'hover:text-red-600 dark:hover:text-red-200',
43
- error: 'text-red-700 dark:text-red-300',
44
- errorHover: 'hover:text-red-600 dark:hover:text-red-200',
45
- },
46
- };
47
- export function ToolHeader({ toolName, isExpanded, onToggle, isError = false, colorVariant = 'default', canExpand = true, children, }) {
48
- const colors = colorClasses[colorVariant];
49
- const colorClass = isError
50
- ? `${colors.error} ${colors.errorHover}`
51
- : `${colors.normal} ${colors.hover}`;
52
- return (_jsxs("button", { type: "button", onClick: () => canExpand && onToggle(), className: `flex items-center gap-2 transition-colors w-full min-w-0 ${colorClass}`, children: [canExpand ? (isExpanded ? (_jsx(ChevronDown, { className: "h-3 w-3 flex-shrink-0" })) : (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0" }))) : (_jsx("div", { className: "w-3 flex-shrink-0" })), isError && (_jsx(AlertCircle, { className: "h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400" })), _jsxs("span", { className: "font-medium flex-shrink-0", children: [toolName, isError ? ' error' : ''] }), children] }));
53
- }
54
- export function ToolHeaderSeparator() {
55
- return _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" });
56
- }
57
- export function ToolHeaderDetail({ children, className = '', }) {
58
- return _jsx("span", { className: `text-foreground/70 ${className}`, children: children });
59
- }
60
- export function ToolHeaderMeta({ children, className = '', }) {
61
- return (_jsx("span", { className: `text-muted-foreground/80 flex-shrink-0 whitespace-nowrap ${className}`, children: children }));
62
- }
63
- export function ToolHeaderSuccess({ children }) {
64
- return (_jsx("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: children }));
65
- }
66
- export function ToolHeaderError({ children }) {
67
- return (_jsx("span", { className: "text-red-600 dark:text-red-400 flex-shrink-0", children: children }));
68
- }
69
- //# sourceMappingURL=ToolHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolHeader.js","sourceRoot":"","sources":["../../../../../src/components/messages/renderers/shared/ToolHeader.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { CopyButton } from './CopyButton';
2
- export { ToolContentBox } from './ToolContentBox';
3
- export { ImagePreview } from './ImagePreview';
4
- export { ToolHeader, ToolHeaderSeparator, ToolHeaderDetail, ToolHeaderMeta, ToolHeaderSuccess, ToolHeaderError, } from './ToolHeader';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/messages/renderers/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACN,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,GACf,MAAM,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/types.ts"],"names":[],"mappings":""}
@@ -1,60 +0,0 @@
1
- /**
2
- * Format a duration in milliseconds to a human-readable string.
3
- * Shows seconds (with 1 decimal) if >= 1000ms, otherwise shows ms.
4
- *
5
- * @example
6
- * formatDuration(450) // "450ms"
7
- * formatDuration(1234) // "1.2s"
8
- * formatDuration(5678) // "5.7s"
9
- */
10
- export function formatDuration(ms) {
11
- if (!ms)
12
- return '';
13
- if (ms >= 1000) {
14
- return `${(ms / 1000).toFixed(1)}s`;
15
- }
16
- return `${ms}ms`;
17
- }
18
- /**
19
- * Check if a tool result is an error response.
20
- * Handles both the new ok: false pattern and legacy error patterns.
21
- */
22
- export function isToolError(result) {
23
- if (!result || typeof result !== 'object')
24
- return false;
25
- const obj = result;
26
- return obj.ok === false || 'error' in obj || obj.success === false;
27
- }
28
- /**
29
- * Extract the error message from a tool result.
30
- * Checks multiple common fields: error, stderr, message, detail, details, reason.
31
- */
32
- export function getErrorMessage(result) {
33
- if (!result || typeof result !== 'object')
34
- return null;
35
- const obj = result;
36
- const keys = ['error', 'stderr', 'message', 'detail', 'details', 'reason'];
37
- for (const key of keys) {
38
- const value = obj[key];
39
- if (typeof value === 'string') {
40
- const trimmed = value.trim();
41
- if (trimmed.length)
42
- return trimmed;
43
- }
44
- }
45
- return null;
46
- }
47
- /**
48
- * Extract error details from a tool result.
49
- * Returns the details object if present and valid.
50
- */
51
- export function getErrorDetails(result) {
52
- if (!result || typeof result !== 'object')
53
- return null;
54
- const obj = result;
55
- if (obj.details && typeof obj.details === 'object') {
56
- return obj.details;
57
- }
58
- return null;
59
- }
60
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,EAAsB;IACpD,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,EAAE,IAAI,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe;IAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,OAAO,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe;IAC9C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC;QACpC,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAe;IAEf,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC,OAAkC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,22 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo } from 'react';
3
- import { ProviderSetupStep } from './steps/ProviderSetupStep';
4
- import { DefaultsStep } from './steps/DefaultsStep';
5
- import { useOnboardingStore } from '../../stores/onboardingStore';
6
- import { useSetuStore } from '../../stores/setuStore';
7
- import { useAuthStatus } from '../../hooks/useAuthStatus';
8
- export const OnboardingModal = memo(function OnboardingModal({ hideHeader = false, }) {
9
- const isOpen = useOnboardingStore((s) => s.isOpen);
10
- const currentStep = useOnboardingStore((s) => s.currentStep);
11
- const manageMode = useOnboardingStore((s) => s.manageMode);
12
- const authStatus = useOnboardingStore((s) => s.authStatus);
13
- const nextStep = useOnboardingStore((s) => s.nextStep);
14
- const prevStep = useOnboardingStore((s) => s.prevStep);
15
- const reset = useOnboardingStore((s) => s.reset);
16
- const openTopupModal = useSetuStore((s) => s.openTopupModal);
17
- const { setupWallet, importWallet, addProvider, removeProvider, completeOnboarding, startOAuth, startOAuthManual, exchangeOAuthCode, startCopilotDeviceFlow, pollCopilotDeviceFlow, getCopilotAuthMethods, saveCopilotToken, importCopilotTokenFromGh, getCopilotDiagnostics, } = useAuthStatus();
18
- if (!isOpen || !authStatus)
19
- return null;
20
- return (_jsxs("div", { className: "fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto", children: [currentStep === 'wallet' && (_jsx(ProviderSetupStep, { authStatus: authStatus, onSetupWallet: setupWallet, onImportWallet: importWallet, onAddProvider: addProvider, onRemoveProvider: removeProvider, onStartOAuth: startOAuth, onStartOAuthManual: startOAuthManual, onExchangeOAuthCode: exchangeOAuthCode, onOpenTopup: openTopupModal, onNext: nextStep, manageMode: manageMode, onClose: reset, hideHeader: hideHeader, onStartCopilotDeviceFlow: startCopilotDeviceFlow, onPollCopilotDeviceFlow: pollCopilotDeviceFlow, onGetCopilotAuthMethods: getCopilotAuthMethods, onSaveCopilotToken: saveCopilotToken, onImportCopilotTokenFromGh: importCopilotTokenFromGh, onGetCopilotDiagnostics: getCopilotDiagnostics })), currentStep === 'defaults' && (_jsx(DefaultsStep, { authStatus: authStatus, onComplete: completeOnboarding, onBack: prevStep, hideHeader: hideHeader }))] }));
21
- });
22
- //# sourceMappingURL=OnboardingModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OnboardingModal.js","sourceRoot":"","sources":["../../../src/components/onboarding/OnboardingModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM1D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAAC,EAC5D,UAAU,GAAG,KAAK,GACI;IACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAE7D,MAAM,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,GACrB,GAAG,aAAa,EAAE,CAAC;IAEpB,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,CACN,eAAK,SAAS,EAAC,sEAAsE,aACnF,WAAW,KAAK,QAAQ,IAAI,CAC5B,KAAC,iBAAiB,IACjB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,WAAW,EAC1B,cAAc,EAAE,YAAY,EAC5B,aAAa,EAAE,WAAW,EAC1B,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,UAAU,EACxB,kBAAkB,EAAE,gBAAgB,EACpC,mBAAmB,EAAE,iBAAiB,EACtC,WAAW,EAAE,cAAc,EAC3B,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,sBAAsB,EAChD,uBAAuB,EAAE,qBAAqB,EAC9C,uBAAuB,EAAE,qBAAqB,EAC9C,kBAAkB,EAAE,gBAAgB,EACpC,0BAA0B,EAAE,wBAAwB,EACpD,uBAAuB,EAAE,qBAAqB,GAC7C,CACF,EAEA,WAAW,KAAK,UAAU,IAAI,CAC9B,KAAC,YAAY,IACZ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,UAAU,GACrB,CACF,IACI,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export { OnboardingModal } from './OnboardingModal';
2
- export { ProviderSetupStep } from './steps/ProviderSetupStep';
3
- export { DefaultsStep } from './steps/DefaultsStep';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/onboarding/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,104 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { memo, useState, useEffect, useId, useRef } from 'react';
3
- import { Loader2, ArrowLeft, Sparkles, ChevronDown } from 'lucide-react';
4
- import { apiClient } from '../../../lib/api-client';
5
- import { ProviderLogo } from '../../common/ProviderLogo';
6
- export const DefaultsStep = memo(function DefaultsStep({ authStatus, onComplete, onBack, hideHeader = false, }) {
7
- const [config, setConfig] = useState(null);
8
- const [allModels, setAllModels] = useState(null);
9
- const [isLoading, setIsLoading] = useState(true);
10
- const [isSaving, setIsSaving] = useState(false);
11
- const [selectedProvider, setSelectedProvider] = useState('setu');
12
- const [selectedModel, setSelectedModel] = useState('kimi-k2.5');
13
- const [selectedAgent, setSelectedAgent] = useState(authStatus.defaults.agent || 'build');
14
- const [selectedApproval, setSelectedApproval] = useState(authStatus.defaults.toolApproval || 'dangerous');
15
- const [guidedMode, setGuidedMode] = useState(false);
16
- const hasUserChangedProvider = useRef(false);
17
- const providerId = useId();
18
- const modelId = useId();
19
- const agentId = useId();
20
- const approvalId = useId();
21
- useEffect(() => {
22
- const loadConfig = async () => {
23
- try {
24
- const [configData, modelsData] = await Promise.all([
25
- apiClient.getConfig(),
26
- apiClient.getAllModels(),
27
- ]);
28
- setConfig(configData);
29
- setAllModels(modelsData);
30
- const cfgProvider = configData?.defaults?.provider || 'setu';
31
- const cfgModel = configData?.defaults?.model || 'kimi-k2.5';
32
- const providerHasModels = modelsData?.[cfgProvider]?.models?.length > 0;
33
- const resolvedProvider = providerHasModels ? cfgProvider : 'setu';
34
- const resolvedModel = providerHasModels &&
35
- modelsData[cfgProvider].models.some((m) => m.id === cfgModel)
36
- ? cfgModel
37
- : modelsData?.[resolvedProvider]?.models?.[0]?.id || 'kimi-k2.5';
38
- setSelectedProvider(resolvedProvider);
39
- setSelectedModel(resolvedModel);
40
- if (configData?.defaults?.agent) {
41
- setSelectedAgent(configData.defaults.agent);
42
- }
43
- if (configData?.defaults?.toolApproval) {
44
- setSelectedApproval(configData.defaults.toolApproval);
45
- }
46
- if (configData?.defaults?.guidedMode) {
47
- setGuidedMode(configData.defaults.guidedMode);
48
- }
49
- }
50
- catch {
51
- }
52
- finally {
53
- setIsLoading(false);
54
- }
55
- };
56
- loadConfig();
57
- }, []);
58
- useEffect(() => {
59
- if (config?.agents?.length) {
60
- const agents = config.agents;
61
- if (!selectedAgent || !agents.includes(selectedAgent)) {
62
- setSelectedAgent(agents.includes('build') ? 'build' : agents[0]);
63
- }
64
- }
65
- }, [config, selectedAgent]);
66
- useEffect(() => {
67
- if (allModels?.[selectedProvider] && hasUserChangedProvider.current) {
68
- const providerModels = allModels[selectedProvider];
69
- if (!providerModels.models.some((m) => m.id === selectedModel)) {
70
- setSelectedModel(providerModels.models[0]?.id || '');
71
- }
72
- }
73
- }, [selectedProvider, allModels, selectedModel]);
74
- const handleFinish = async () => {
75
- setIsSaving(true);
76
- try {
77
- await apiClient.updateDefaults({
78
- provider: selectedProvider,
79
- model: selectedModel,
80
- agent: selectedAgent,
81
- toolApproval: selectedApproval,
82
- guidedMode,
83
- scope: 'global',
84
- });
85
- await onComplete();
86
- }
87
- catch {
88
- }
89
- finally {
90
- setIsSaving(false);
91
- }
92
- };
93
- if (isLoading) {
94
- return (_jsx("div", { className: "min-h-screen flex items-center justify-center", children: _jsx(Loader2, { className: "w-8 h-8 animate-spin text-muted-foreground" }) }));
95
- }
96
- const availableProviders = config?.providers.filter((p) => (authStatus.providers[p]?.configured || p === 'setu') &&
97
- allModels?.[p]?.models?.length > 0) || ['setu'];
98
- const currentProviderModels = allModels?.[selectedProvider]?.models || [];
99
- return (_jsxs("div", { className: "min-h-screen flex flex-col", children: [!hideHeader && (_jsxs("div", { className: "flex items-center justify-between px-6 py-4 border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(ProviderLogo, { provider: "setu", size: 24 }), _jsx("span", { className: "font-semibold text-foreground", children: "otto" })] }), _jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-blue-500" }), "Step 2 of 2"] })] })), _jsx("div", { className: `flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`, children: _jsxs("div", { className: "max-w-7xl mx-auto", children: [_jsxs("div", { className: "mb-10", children: [_jsx("h1", { className: "text-3xl lg:text-4xl font-semibold text-foreground mb-3", children: "Configure Defaults" }), _jsx("p", { className: "text-lg text-muted-foreground", children: "Set your preferences. You can change these anytime in settings." })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "md:col-span-2", children: [_jsx("label", { htmlFor: providerId, className: "block text-sm font-medium text-muted-foreground mb-2", children: "Default Provider" }), _jsxs("div", { className: "relative", children: [_jsx("select", { id: providerId, value: selectedProvider, onChange: (e) => {
100
- hasUserChangedProvider.current = true;
101
- setSelectedProvider(e.target.value);
102
- }, className: "w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors", children: availableProviders.map((p) => (_jsx("option", { value: p, children: authStatus.providers[p]?.label || p }, p))) }), _jsx(ChevronDown, { className: "absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none" })] })] }), _jsxs("div", { className: "md:col-span-2", children: [_jsx("label", { htmlFor: modelId, className: "block text-sm font-medium text-muted-foreground mb-2", children: "Default Model" }), _jsxs("div", { className: "relative", children: [_jsx("select", { id: modelId, value: selectedModel, onChange: (e) => setSelectedModel(e.target.value), className: "w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors", children: currentProviderModels.map((m) => (_jsx("option", { value: m.id, children: m.label || m.id }, m.id))) }), _jsx(ChevronDown, { className: "absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none" })] })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: agentId, className: "block text-sm font-medium text-muted-foreground mb-2", children: "Default Agent" }), _jsxs("div", { className: "relative", children: [_jsx("select", { id: agentId, value: selectedAgent, onChange: (e) => setSelectedAgent(e.target.value), className: "w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors", children: (config?.agents || ['build']).map((a) => (_jsx("option", { value: a, children: a }, a))) }), _jsx(ChevronDown, { className: "absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none" })] })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: approvalId, className: "block text-sm font-medium text-muted-foreground mb-2", children: "Tool Approval" }), _jsxs("div", { className: "relative", children: [_jsxs("select", { id: approvalId, value: selectedApproval, onChange: (e) => setSelectedApproval(e.target.value), className: "w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors", children: [_jsx("option", { value: "auto", children: "Auto - run without asking" }), _jsx("option", { value: "dangerous", children: "Dangerous - approve writes only" }), _jsx("option", { value: "all", children: "All - approve every tool" })] }), _jsx(ChevronDown, { className: "absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none" })] }), _jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: "Controls when tool executions need approval" })] }), _jsx("div", { className: "md:col-span-2", children: _jsxs("div", { className: "flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl", children: [_jsxs("div", { children: [_jsx("span", { className: "text-sm font-medium text-foreground", children: "Guided Mode" }), _jsx("p", { className: "text-sm text-muted-foreground mt-0.5", children: "AI will run commands and manage services for you instead of giving instructions" })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": guidedMode, onClick: () => setGuidedMode(!guidedMode), className: `relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${guidedMode ? 'bg-primary' : 'bg-muted'}`, children: _jsx("span", { className: `inline-block h-4 w-4 transform rounded-full transition-transform ${guidedMode ? 'translate-x-6' : 'translate-x-1'} ${guidedMode ? 'bg-primary-foreground' : 'bg-foreground'}` }) })] }) })] })] }) }), _jsx("div", { className: "fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background", children: _jsxs("div", { className: "max-w-7xl mx-auto flex items-center justify-between", children: [_jsxs("button", { type: "button", onClick: onBack, className: "flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors", children: [_jsx(ArrowLeft, { className: "w-4 h-4" }), "Back"] }), _jsx("button", { type: "button", onClick: handleFinish, disabled: isSaving, className: "flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50", children: isSaving ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "w-4 h-4 animate-spin" }), "Setting up..."] })) : (_jsxs(_Fragment, { children: ["Start Using otto", _jsx(Sparkles, { className: "w-4 h-4" })] })) })] }) })] }));
103
- });
104
- //# sourceMappingURL=DefaultsStep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultsStep.js","sourceRoot":"","sources":["../../../../src/components/onboarding/steps/DefaultsStep.tsx"],"names":[],"mappings":"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"}