cowork-os 0.3.21 → 0.3.25

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 (252) hide show
  1. package/README.md +372 -10
  2. package/connectors/README.md +20 -0
  3. package/connectors/asana-mcp/README.md +24 -0
  4. package/connectors/asana-mcp/dist/index.js +427 -0
  5. package/connectors/asana-mcp/package.json +15 -0
  6. package/connectors/asana-mcp/src/index.ts +553 -0
  7. package/connectors/asana-mcp/tsconfig.json +13 -0
  8. package/connectors/hubspot-mcp/README.md +35 -0
  9. package/connectors/hubspot-mcp/dist/index.js +454 -0
  10. package/connectors/hubspot-mcp/package.json +15 -0
  11. package/connectors/hubspot-mcp/src/index.ts +562 -0
  12. package/connectors/hubspot-mcp/tsconfig.json +13 -0
  13. package/connectors/jira-mcp/README.md +49 -0
  14. package/connectors/jira-mcp/dist/index.js +588 -0
  15. package/connectors/jira-mcp/package.json +15 -0
  16. package/connectors/jira-mcp/src/index.ts +711 -0
  17. package/connectors/jira-mcp/tsconfig.json +13 -0
  18. package/connectors/linear-mcp/README.md +22 -0
  19. package/connectors/linear-mcp/dist/index.js +402 -0
  20. package/connectors/linear-mcp/package.json +15 -0
  21. package/connectors/linear-mcp/src/index.ts +522 -0
  22. package/connectors/linear-mcp/tsconfig.json +13 -0
  23. package/connectors/okta-mcp/README.md +24 -0
  24. package/connectors/okta-mcp/dist/index.js +411 -0
  25. package/connectors/okta-mcp/package.json +15 -0
  26. package/connectors/okta-mcp/src/index.ts +520 -0
  27. package/connectors/okta-mcp/tsconfig.json +13 -0
  28. package/connectors/salesforce-mcp/README.md +47 -0
  29. package/connectors/salesforce-mcp/dist/index.js +584 -0
  30. package/connectors/salesforce-mcp/package.json +15 -0
  31. package/connectors/salesforce-mcp/src/index.ts +722 -0
  32. package/connectors/salesforce-mcp/tsconfig.json +13 -0
  33. package/connectors/servicenow-mcp/README.md +26 -0
  34. package/connectors/servicenow-mcp/dist/index.js +400 -0
  35. package/connectors/servicenow-mcp/package.json +15 -0
  36. package/connectors/servicenow-mcp/src/index.ts +500 -0
  37. package/connectors/servicenow-mcp/tsconfig.json +13 -0
  38. package/connectors/templates/mcp-connector/README.md +31 -0
  39. package/connectors/templates/mcp-connector/package.json +15 -0
  40. package/connectors/templates/mcp-connector/src/index.ts +330 -0
  41. package/connectors/templates/mcp-connector/tsconfig.json +13 -0
  42. package/connectors/zendesk-mcp/README.md +40 -0
  43. package/connectors/zendesk-mcp/dist/index.js +431 -0
  44. package/connectors/zendesk-mcp/package.json +15 -0
  45. package/connectors/zendesk-mcp/src/index.ts +543 -0
  46. package/connectors/zendesk-mcp/tsconfig.json +13 -0
  47. package/dist/electron/electron/agent/custom-skill-loader.js +31 -1
  48. package/dist/electron/electron/agent/daemon.js +189 -13
  49. package/dist/electron/electron/agent/executor.js +895 -78
  50. package/dist/electron/electron/agent/llm/anthropic-compatible-provider.js +177 -0
  51. package/dist/electron/electron/agent/llm/azure-openai-provider.js +328 -0
  52. package/dist/electron/electron/agent/llm/bedrock-provider.js +49 -9
  53. package/dist/electron/electron/agent/llm/github-copilot-provider.js +97 -0
  54. package/dist/electron/electron/agent/llm/groq-provider.js +33 -0
  55. package/dist/electron/electron/agent/llm/index.js +13 -1
  56. package/dist/electron/electron/agent/llm/kimi-provider.js +33 -0
  57. package/dist/electron/electron/agent/llm/openai-compatible-provider.js +116 -0
  58. package/dist/electron/electron/agent/llm/openai-compatible.js +111 -0
  59. package/dist/electron/electron/agent/llm/openai-oauth.js +2 -1
  60. package/dist/electron/electron/agent/llm/openrouter-provider.js +1 -1
  61. package/dist/electron/electron/agent/llm/provider-factory.js +350 -4
  62. package/dist/electron/electron/agent/llm/types.js +66 -1
  63. package/dist/electron/electron/agent/llm/xai-provider.js +33 -0
  64. package/dist/electron/electron/agent/search/provider-factory.js +38 -2
  65. package/dist/electron/electron/agent/tools/box-tools.js +231 -0
  66. package/dist/electron/electron/agent/tools/builtin-settings.js +28 -0
  67. package/dist/electron/electron/agent/tools/dropbox-tools.js +237 -0
  68. package/dist/electron/electron/agent/tools/file-tools.js +66 -3
  69. package/dist/electron/electron/agent/tools/google-drive-tools.js +227 -0
  70. package/dist/electron/electron/agent/tools/grep-tools.js +90 -10
  71. package/dist/electron/electron/agent/tools/image-tools.js +11 -1
  72. package/dist/electron/electron/agent/tools/notion-tools.js +312 -0
  73. package/dist/electron/electron/agent/tools/onedrive-tools.js +217 -0
  74. package/dist/electron/electron/agent/tools/registry.js +548 -10
  75. package/dist/electron/electron/agent/tools/search-tools.js +28 -10
  76. package/dist/electron/electron/agent/tools/sharepoint-tools.js +243 -0
  77. package/dist/electron/electron/agent/tools/shell-tools.js +12 -3
  78. package/dist/electron/electron/agent/tools/x-tools.js +1 -1
  79. package/dist/electron/electron/agents/agent-dispatch.js +63 -0
  80. package/dist/electron/electron/database/repositories.js +19 -5
  81. package/dist/electron/electron/database/schema.js +8 -0
  82. package/dist/electron/electron/gateway/channels/whatsapp.js +55 -0
  83. package/dist/electron/electron/gateway/index.js +75 -1
  84. package/dist/electron/electron/gateway/router.js +209 -154
  85. package/dist/electron/electron/ipc/canvas-handlers.js +5 -0
  86. package/dist/electron/electron/ipc/handlers.js +763 -267
  87. package/dist/electron/electron/main.js +63 -0
  88. package/dist/electron/electron/mcp/oauth/connector-oauth.js +333 -0
  89. package/dist/electron/electron/mcp/registry/MCPRegistryManager.js +503 -154
  90. package/dist/electron/electron/memory/MemoryService.js +2 -1
  91. package/dist/electron/electron/preload.js +78 -1
  92. package/dist/electron/electron/settings/appearance-manager.js +18 -1
  93. package/dist/electron/electron/settings/box-manager.js +54 -0
  94. package/dist/electron/electron/settings/dropbox-manager.js +54 -0
  95. package/dist/electron/electron/settings/google-drive-manager.js +54 -0
  96. package/dist/electron/electron/settings/notion-manager.js +56 -0
  97. package/dist/electron/electron/settings/onedrive-manager.js +54 -0
  98. package/dist/electron/electron/settings/sharepoint-manager.js +54 -0
  99. package/dist/electron/electron/utils/box-api.js +153 -0
  100. package/dist/electron/electron/utils/dropbox-api.js +144 -0
  101. package/dist/electron/electron/utils/env-migration.js +19 -0
  102. package/dist/electron/electron/utils/google-drive-api.js +152 -0
  103. package/dist/electron/electron/utils/notion-api.js +103 -0
  104. package/dist/electron/electron/utils/onedrive-api.js +113 -0
  105. package/dist/electron/electron/utils/sharepoint-api.js +109 -0
  106. package/dist/electron/electron/utils/validation.js +98 -3
  107. package/dist/electron/electron/utils/x-cli.js +1 -1
  108. package/dist/electron/shared/channelMessages.js +284 -3
  109. package/dist/electron/shared/llm-provider-catalog.js +198 -0
  110. package/dist/electron/shared/types.js +90 -1
  111. package/package.json +14 -3
  112. package/resources/skills/nano-banana-pro.json +4 -4
  113. package/resources/skills/openai-image-gen.json +3 -3
  114. package/resources/skills/scripts/gen.py +163 -0
  115. package/resources/skills/scripts/generate_image.py +91 -0
  116. package/src/electron/agent/custom-skill-loader.ts +34 -1
  117. package/src/electron/agent/daemon.ts +210 -14
  118. package/src/electron/agent/executor.ts +1124 -85
  119. package/src/electron/agent/llm/anthropic-compatible-provider.ts +214 -0
  120. package/src/electron/agent/llm/azure-openai-provider.ts +388 -0
  121. package/src/electron/agent/llm/bedrock-provider.ts +62 -9
  122. package/src/electron/agent/llm/github-copilot-provider.ts +117 -0
  123. package/src/electron/agent/llm/groq-provider.ts +39 -0
  124. package/src/electron/agent/llm/index.ts +6 -0
  125. package/src/electron/agent/llm/kimi-provider.ts +39 -0
  126. package/src/electron/agent/llm/openai-compatible-provider.ts +153 -0
  127. package/src/electron/agent/llm/openai-compatible.ts +133 -0
  128. package/src/electron/agent/llm/openai-oauth.ts +2 -1
  129. package/src/electron/agent/llm/openrouter-provider.ts +2 -1
  130. package/src/electron/agent/llm/provider-factory.ts +459 -6
  131. package/src/electron/agent/llm/types.ts +95 -1
  132. package/src/electron/agent/llm/xai-provider.ts +39 -0
  133. package/src/electron/agent/search/provider-factory.ts +43 -2
  134. package/src/electron/agent/tools/box-tools.ts +239 -0
  135. package/src/electron/agent/tools/builtin-settings.ts +36 -0
  136. package/src/electron/agent/tools/dropbox-tools.ts +237 -0
  137. package/src/electron/agent/tools/file-tools.ts +66 -3
  138. package/src/electron/agent/tools/gmail-tools.ts +240 -0
  139. package/src/electron/agent/tools/google-calendar-tools.ts +258 -0
  140. package/src/electron/agent/tools/google-drive-tools.ts +228 -0
  141. package/src/electron/agent/tools/grep-tools.ts +97 -12
  142. package/src/electron/agent/tools/image-tools.ts +11 -1
  143. package/src/electron/agent/tools/notion-tools.ts +330 -0
  144. package/src/electron/agent/tools/onedrive-tools.ts +217 -0
  145. package/src/electron/agent/tools/registry.ts +794 -10
  146. package/src/electron/agent/tools/search-tools.ts +29 -11
  147. package/src/electron/agent/tools/sharepoint-tools.ts +247 -0
  148. package/src/electron/agent/tools/shell-tools.ts +11 -3
  149. package/src/electron/agent/tools/x-tools.ts +1 -1
  150. package/src/electron/agents/agent-dispatch.ts +79 -0
  151. package/src/electron/database/SecureSettingsRepository.ts +7 -1
  152. package/src/electron/database/repositories.ts +58 -6
  153. package/src/electron/database/schema.ts +8 -0
  154. package/src/electron/gateway/channels/discord.ts +4 -0
  155. package/src/electron/gateway/channels/google-chat.ts +3 -0
  156. package/src/electron/gateway/channels/line.ts +3 -0
  157. package/src/electron/gateway/channels/matrix-client.ts +15 -0
  158. package/src/electron/gateway/channels/matrix.ts +31 -0
  159. package/src/electron/gateway/channels/mattermost.ts +3 -0
  160. package/src/electron/gateway/channels/signal.ts +3 -0
  161. package/src/electron/gateway/channels/slack.ts +9 -4
  162. package/src/electron/gateway/channels/teams.ts +4 -0
  163. package/src/electron/gateway/channels/telegram.ts +2 -0
  164. package/src/electron/gateway/channels/twitch.ts +2 -0
  165. package/src/electron/gateway/channels/types.ts +8 -0
  166. package/src/electron/gateway/channels/whatsapp.ts +66 -0
  167. package/src/electron/gateway/index.ts +95 -2
  168. package/src/electron/gateway/router.ts +231 -161
  169. package/src/electron/gateway/security.ts +21 -9
  170. package/src/electron/ipc/canvas-handlers.ts +10 -0
  171. package/src/electron/ipc/handlers.ts +848 -292
  172. package/src/electron/main.ts +35 -0
  173. package/src/electron/mcp/oauth/connector-oauth.ts +448 -0
  174. package/src/electron/mcp/registry/MCPRegistryManager.ts +343 -12
  175. package/src/electron/memory/MemoryService.ts +7 -1
  176. package/src/electron/preload.ts +200 -5
  177. package/src/electron/settings/appearance-manager.ts +20 -2
  178. package/src/electron/settings/box-manager.ts +58 -0
  179. package/src/electron/settings/dropbox-manager.ts +58 -0
  180. package/src/electron/settings/google-workspace-manager.ts +59 -0
  181. package/src/electron/settings/notion-manager.ts +60 -0
  182. package/src/electron/settings/onedrive-manager.ts +58 -0
  183. package/src/electron/settings/sharepoint-manager.ts +58 -0
  184. package/src/electron/utils/box-api.ts +184 -0
  185. package/src/electron/utils/dropbox-api.ts +171 -0
  186. package/src/electron/utils/env-migration.ts +22 -0
  187. package/src/electron/utils/gmail-api.ts +121 -0
  188. package/src/electron/utils/google-calendar-api.ts +115 -0
  189. package/src/electron/utils/google-workspace-api.ts +228 -0
  190. package/src/electron/utils/google-workspace-auth.ts +109 -0
  191. package/src/electron/utils/google-workspace-oauth.ts +232 -0
  192. package/src/electron/utils/notion-api.ts +126 -0
  193. package/src/electron/utils/onedrive-api.ts +137 -0
  194. package/src/electron/utils/sharepoint-api.ts +132 -0
  195. package/src/electron/utils/validation.ts +128 -1
  196. package/src/electron/utils/x-cli.ts +1 -1
  197. package/src/renderer/App.tsx +119 -8
  198. package/src/renderer/components/ActivityFeedItem.tsx +34 -17
  199. package/src/renderer/components/AgentWorkingStatePanel.tsx +7 -5
  200. package/src/renderer/components/AppearanceSettings.tsx +37 -2
  201. package/src/renderer/components/BlueBubblesSettings.tsx +18 -7
  202. package/src/renderer/components/BoxSettings.tsx +203 -0
  203. package/src/renderer/components/BrowserView.tsx +101 -0
  204. package/src/renderer/components/BuiltinToolsSettings.tsx +105 -0
  205. package/src/renderer/components/CanvasPreview.tsx +68 -1
  206. package/src/renderer/components/ConnectorEnvModal.tsx +116 -0
  207. package/src/renderer/components/ConnectorSetupModal.tsx +566 -0
  208. package/src/renderer/components/ConnectorsSettings.tsx +397 -0
  209. package/src/renderer/components/ControlPlaneSettings.tsx +2 -0
  210. package/src/renderer/components/DiscordSettings.tsx +18 -7
  211. package/src/renderer/components/DropboxSettings.tsx +202 -0
  212. package/src/renderer/components/EmailSettings.tsx +18 -7
  213. package/src/renderer/components/FileViewer.tsx +21 -13
  214. package/src/renderer/components/GoogleChatSettings.tsx +17 -7
  215. package/src/renderer/components/GoogleWorkspaceSettings.tsx +332 -0
  216. package/src/renderer/components/ImessageSettings.tsx +22 -11
  217. package/src/renderer/components/LineIcons.tsx +376 -0
  218. package/src/renderer/components/LineSettings.tsx +18 -7
  219. package/src/renderer/components/MCPSettings.tsx +56 -0
  220. package/src/renderer/components/MainContent.tsx +740 -76
  221. package/src/renderer/components/MatrixSettings.tsx +18 -7
  222. package/src/renderer/components/MattermostSettings.tsx +18 -7
  223. package/src/renderer/components/NodesSettings.tsx +58 -99
  224. package/src/renderer/components/NotificationPanel.tsx +25 -11
  225. package/src/renderer/components/NotionSettings.tsx +231 -0
  226. package/src/renderer/components/Onboarding/Onboarding.tsx +13 -1
  227. package/src/renderer/components/OnboardingModal.tsx +70 -1
  228. package/src/renderer/components/OneDriveSettings.tsx +212 -0
  229. package/src/renderer/components/RightPanel.tsx +141 -28
  230. package/src/renderer/components/ScheduledTasksSettings.tsx +10 -62
  231. package/src/renderer/components/SearchSettings.tsx +118 -114
  232. package/src/renderer/components/Settings.tsx +1425 -651
  233. package/src/renderer/components/SharePointSettings.tsx +224 -0
  234. package/src/renderer/components/Sidebar.tsx +94 -19
  235. package/src/renderer/components/SignalSettings.tsx +18 -7
  236. package/src/renderer/components/SkillHubBrowser.tsx +144 -185
  237. package/src/renderer/components/SlackSettings.tsx +18 -7
  238. package/src/renderer/components/TaskQuickActions.tsx +11 -6
  239. package/src/renderer/components/TaskTimeline.tsx +58 -26
  240. package/src/renderer/components/TeamsSettings.tsx +18 -7
  241. package/src/renderer/components/TelegramSettings.tsx +18 -7
  242. package/src/renderer/components/ThemeIcon.tsx +16 -0
  243. package/src/renderer/components/TwitchSettings.tsx +18 -7
  244. package/src/renderer/components/VoiceSettings.tsx +30 -74
  245. package/src/renderer/components/WhatsAppSettings.tsx +48 -37
  246. package/src/renderer/components/WorkingStateHistory.tsx +7 -5
  247. package/src/renderer/components/WorkspaceSelector.tsx +42 -13
  248. package/src/renderer/hooks/useOnboardingFlow.ts +21 -0
  249. package/src/renderer/styles/index.css +2333 -209
  250. package/src/shared/channelMessages.ts +367 -4
  251. package/src/shared/llm-provider-catalog.ts +217 -0
  252. package/src/shared/types.ts +251 -2
@@ -1,4 +1,5 @@
1
1
  import { useState, useEffect } from 'react';
2
+ import { FolderIcon } from './LineIcons';
2
3
  import { Workspace } from '../../shared/types';
3
4
 
4
5
  interface WorkspaceSelectorProps {
@@ -61,7 +62,7 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
61
62
  <div className="workspace-selector cli-workspace-selector">
62
63
  <div className="workspace-selector-content cli-workspace-content">
63
64
  {/* Terminal Header */}
64
- <div className="cli-terminal-header">
65
+ <div className="cli-terminal-header terminal-only">
65
66
  <div className="cli-terminal-dots">
66
67
  <span className="cli-dot"></span>
67
68
  <span className="cli-dot"></span>
@@ -77,7 +78,7 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
77
78
  alt="CoWork OS"
78
79
  className="cli-mascot-logo"
79
80
  />
80
- <pre className="cli-ascii-logo">{`
81
+ <pre className="cli-ascii-logo terminal-only">{`
81
82
  ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ███████╗
82
83
  ██╔════╝██╔═══██╗██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔═══██╗██╔════╝
83
84
  ██║ ██║ ██║██║ █╗ ██║██║ ██║██████╔╝█████╔╝ █████╗██║ ██║███████╗
@@ -85,21 +86,32 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
85
86
  ╚██████╗╚██████╔╝╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚██████╔╝███████║
86
87
  ╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝`}</pre>
87
88
  <div className="cli-version">{appVersion ? `v${appVersion}` : ''}</div>
89
+ <div className="workspace-modern-title modern-only">Choose a workspace</div>
90
+ <div className="workspace-modern-subtitle modern-only">Pick a folder to get started.</div>
88
91
  </div>
89
92
 
90
93
  {/* Terminal Info */}
91
94
  <div className="cli-init-info">
92
95
  <div className="cli-line">
93
96
  <span className="cli-prompt">$</span>
94
- <span className="cli-text">Welcome to CoWork OS</span>
97
+ <span className="cli-text">
98
+ <span className="terminal-only">Welcome to CoWork OS</span>
99
+ <span className="modern-only">Welcome to CoWork OS</span>
100
+ </span>
95
101
  </div>
96
102
  <div className="cli-line">
97
103
  <span className="cli-prompt">$</span>
98
- <span className="cli-text">Select a workspace folder to initialize your environment</span>
104
+ <span className="cli-text">
105
+ <span className="terminal-only">Select a workspace folder to initialize your environment</span>
106
+ <span className="modern-only">Select a workspace folder to initialize your environment</span>
107
+ </span>
99
108
  </div>
100
109
  <div className="cli-line cli-blink">
101
110
  <span className="cli-prompt">$</span>
102
- <span className="cli-text">Waiting for workspace selection...</span>
111
+ <span className="cli-text">
112
+ <span className="terminal-only">Waiting for workspace selection...</span>
113
+ <span className="modern-only">Waiting for your workspace selection...</span>
114
+ </span>
103
115
  <span className="cli-cursor-block">_</span>
104
116
  </div>
105
117
  </div>
@@ -109,7 +121,10 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
109
121
  <div className="cli-workspace-list">
110
122
  <div className="cli-section-header">
111
123
  <span className="cli-section-prompt">&gt;</span>
112
- <span className="cli-section-title">RECENT_WORKSPACES</span>
124
+ <span className="cli-section-title">
125
+ <span className="terminal-only">RECENT_WORKSPACES</span>
126
+ <span className="modern-only">Recent workspaces</span>
127
+ </span>
113
128
  </div>
114
129
  {workspaces.map((workspace, index) => (
115
130
  <div
@@ -118,7 +133,10 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
118
133
  onClick={() => onWorkspaceSelected(workspace)}
119
134
  >
120
135
  <span className="cli-item-num">{String(index + 1).padStart(2, '0')}</span>
121
- <span className="cli-item-icon">[dir]</span>
136
+ <span className="cli-item-icon">
137
+ <span className="terminal-only">[dir]</span>
138
+ <span className="modern-only"><FolderIcon size={16} /></span>
139
+ </span>
122
140
  <div className="cli-item-info">
123
141
  <span className="cli-item-name">{workspace.name}/</span>
124
142
  <span className="cli-item-path">{workspace.path}</span>
@@ -131,18 +149,29 @@ export function WorkspaceSelector({ onWorkspaceSelected }: WorkspaceSelectorProp
131
149
  {/* Select Folder Action */}
132
150
  <div className="cli-workspace-actions">
133
151
  <button className="cli-action-btn" onClick={handleSelectFolder}>
134
- <span className="cli-btn-bracket">[</span>
135
- <span className="cli-btn-icon">+</span>
136
- <span className="cli-btn-bracket">]</span>
137
- <span className="cli-btn-text">select_folder</span>
152
+ <span className="terminal-only">
153
+ <span className="cli-btn-bracket">[</span>
154
+ <span className="cli-btn-icon">+</span>
155
+ <span className="cli-btn-bracket">]</span>
156
+ </span>
157
+ <span className="cli-btn-text">
158
+ <span className="terminal-only">select_folder</span>
159
+ <span className="modern-only">Select folder</span>
160
+ </span>
138
161
  </button>
139
- <p className="cli-hint"># choose a directory for CoWork OS to operate in</p>
162
+ <p className="cli-hint">
163
+ <span className="terminal-only"># choose a directory for CoWork OS to operate in</span>
164
+ <span className="modern-only">Choose a directory for CoWork OS to operate in.</span>
165
+ </p>
140
166
  </div>
141
167
 
142
168
  {/* Footer */}
143
169
  <div className="cli-init-footer">
144
170
  <span className="cli-footer-prompt">$</span>
145
- <span className="cli-footer-text">ready</span>
171
+ <span className="cli-footer-text">
172
+ <span className="terminal-only">ready</span>
173
+ <span className="modern-only">Ready to continue</span>
174
+ </span>
146
175
  </div>
147
176
  </div>
148
177
  </div>
@@ -69,6 +69,9 @@ const SCRIPT = {
69
69
  ollama: "Local with Ollama. I like the privacy.",
70
70
  openrouter: "OpenRouter. Lots of options to explore.",
71
71
  bedrock: "AWS Bedrock. Enterprise-ready.",
72
+ groq: "Groq. Speedy and efficient.",
73
+ xai: "Grok. Let's put xAI to work.",
74
+ kimi: "Kimi. Solid choice.",
72
75
  };
73
76
  return responses[provider] || "Good choice.";
74
77
  },
@@ -344,6 +347,12 @@ export function useOnboardingFlow({ onComplete }: UseOnboardingOptions) {
344
347
  return 'anthropic/claude-3.5-sonnet';
345
348
  case 'bedrock':
346
349
  return 'sonnet-4-5';
350
+ case 'groq':
351
+ return 'llama-3.1-8b-instant';
352
+ case 'xai':
353
+ return 'grok-4-fast-non-reasoning';
354
+ case 'kimi':
355
+ return 'kimi-k2.5';
347
356
  default:
348
357
  return 'sonnet-4';
349
358
  }
@@ -366,6 +375,12 @@ export function useOnboardingFlow({ onComplete }: UseOnboardingOptions) {
366
375
  testConfig.openrouter = { apiKey };
367
376
  } else if (provider === 'ollama') {
368
377
  testConfig.ollama = { baseUrl: data.ollamaUrl };
378
+ } else if (provider === 'groq') {
379
+ testConfig.groq = { apiKey };
380
+ } else if (provider === 'xai') {
381
+ testConfig.xai = { apiKey };
382
+ } else if (provider === 'kimi') {
383
+ testConfig.kimi = { apiKey };
369
384
  }
370
385
 
371
386
  return testConfig;
@@ -393,6 +408,12 @@ export function useOnboardingFlow({ onComplete }: UseOnboardingOptions) {
393
408
  settings.ollama = { baseUrl: data.ollamaUrl, model: 'llama3.2' };
394
409
  } else if (provider === 'bedrock') {
395
410
  settings.bedrock = { region: 'us-east-1', useDefaultCredentials: true };
411
+ } else if (provider === 'groq') {
412
+ settings.groq = { apiKey, model: 'llama-3.1-8b-instant' };
413
+ } else if (provider === 'xai') {
414
+ settings.xai = { apiKey, model: 'grok-4-fast-non-reasoning' };
415
+ } else if (provider === 'kimi') {
416
+ settings.kimi = { apiKey, model: 'kimi-k2.5' };
396
417
  }
397
418
 
398
419
  return settings;