cowork-os 0.3.69 → 0.3.70

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 (200) hide show
  1. package/README.md +79 -8
  2. package/dist/daemon/daemon/control-plane-methods.js +959 -0
  3. package/dist/daemon/daemon/main.js +562 -0
  4. package/dist/daemon/electron/activity/ActivityRepository.js +190 -0
  5. package/dist/daemon/electron/agent/browser/browser-service.js +652 -0
  6. package/dist/daemon/electron/agent/context-manager.js +332 -0
  7. package/dist/daemon/electron/agent/custom-skill-loader.js +596 -0
  8. package/dist/daemon/electron/agent/daemon.js +1895 -0
  9. package/dist/daemon/electron/agent/executor.js +6238 -0
  10. package/dist/daemon/electron/agent/llm/anthropic-compatible-provider.js +177 -0
  11. package/dist/daemon/electron/agent/llm/anthropic-provider.js +155 -0
  12. package/dist/daemon/electron/agent/llm/azure-openai-provider.js +328 -0
  13. package/dist/daemon/electron/agent/llm/bedrock-provider.js +461 -0
  14. package/dist/daemon/electron/agent/llm/gemini-provider.js +374 -0
  15. package/dist/daemon/electron/agent/llm/github-copilot-provider.js +97 -0
  16. package/dist/daemon/electron/agent/llm/groq-provider.js +33 -0
  17. package/dist/daemon/electron/agent/llm/index.js +46 -0
  18. package/dist/daemon/electron/agent/llm/kimi-provider.js +33 -0
  19. package/dist/daemon/electron/agent/llm/ollama-provider.js +263 -0
  20. package/dist/daemon/electron/agent/llm/openai-compatible-provider.js +116 -0
  21. package/dist/daemon/electron/agent/llm/openai-compatible.js +111 -0
  22. package/dist/daemon/electron/agent/llm/openai-oauth.js +121 -0
  23. package/dist/daemon/electron/agent/llm/openai-provider.js +672 -0
  24. package/dist/daemon/electron/agent/llm/openrouter-provider.js +232 -0
  25. package/dist/daemon/electron/agent/llm/pi-provider.js +309 -0
  26. package/dist/daemon/electron/agent/llm/pricing.js +158 -0
  27. package/dist/daemon/electron/agent/llm/provider-factory.js +1621 -0
  28. package/dist/daemon/electron/agent/llm/types.js +266 -0
  29. package/dist/daemon/electron/agent/llm/xai-provider.js +33 -0
  30. package/dist/daemon/electron/agent/queue-manager.js +380 -0
  31. package/dist/daemon/electron/agent/sandbox/docker-sandbox.js +402 -0
  32. package/dist/daemon/electron/agent/sandbox/macos-sandbox.js +407 -0
  33. package/dist/daemon/electron/agent/sandbox/runner.js +410 -0
  34. package/dist/daemon/electron/agent/sandbox/sandbox-factory.js +228 -0
  35. package/dist/daemon/electron/agent/sandbox/security-utils.js +258 -0
  36. package/dist/daemon/electron/agent/search/brave-provider.js +119 -0
  37. package/dist/daemon/electron/agent/search/google-provider.js +100 -0
  38. package/dist/daemon/electron/agent/search/index.js +28 -0
  39. package/dist/daemon/electron/agent/search/provider-factory.js +431 -0
  40. package/dist/daemon/electron/agent/search/serpapi-provider.js +112 -0
  41. package/dist/daemon/electron/agent/search/tavily-provider.js +90 -0
  42. package/dist/daemon/electron/agent/search/types.js +40 -0
  43. package/dist/daemon/electron/agent/security/index.js +12 -0
  44. package/dist/daemon/electron/agent/security/input-sanitizer.js +303 -0
  45. package/dist/daemon/electron/agent/security/output-filter.js +217 -0
  46. package/dist/daemon/electron/agent/skill-eligibility.js +281 -0
  47. package/dist/daemon/electron/agent/skill-registry.js +396 -0
  48. package/dist/daemon/electron/agent/skills/document.js +878 -0
  49. package/dist/daemon/electron/agent/skills/image-generator.js +686 -0
  50. package/dist/daemon/electron/agent/skills/organizer.js +158 -0
  51. package/dist/daemon/electron/agent/skills/presentation.js +367 -0
  52. package/dist/daemon/electron/agent/skills/spreadsheet.js +177 -0
  53. package/dist/daemon/electron/agent/tools/apple-calendar-tools.js +582 -0
  54. package/dist/daemon/electron/agent/tools/apple-reminders-tools.js +590 -0
  55. package/dist/daemon/electron/agent/tools/box-tools.js +231 -0
  56. package/dist/daemon/electron/agent/tools/browser-tools.js +580 -0
  57. package/dist/daemon/electron/agent/tools/builtin-settings.js +423 -0
  58. package/dist/daemon/electron/agent/tools/canvas-tools.js +530 -0
  59. package/dist/daemon/electron/agent/tools/channel-tools.js +378 -0
  60. package/dist/daemon/electron/agent/tools/cron-tools.js +664 -0
  61. package/dist/daemon/electron/agent/tools/dropbox-tools.js +237 -0
  62. package/dist/daemon/electron/agent/tools/edit-tools.js +211 -0
  63. package/dist/daemon/electron/agent/tools/email-imap-tools.js +146 -0
  64. package/dist/daemon/electron/agent/tools/file-tools.js +908 -0
  65. package/dist/daemon/electron/agent/tools/glob-tools.js +291 -0
  66. package/dist/daemon/electron/agent/tools/gmail-tools.js +199 -0
  67. package/dist/daemon/electron/agent/tools/google-calendar-tools.js +211 -0
  68. package/dist/daemon/electron/agent/tools/google-drive-tools.js +227 -0
  69. package/dist/daemon/electron/agent/tools/grep-tools.js +499 -0
  70. package/dist/daemon/electron/agent/tools/image-tools.js +129 -0
  71. package/dist/daemon/electron/agent/tools/mention-tools.js +282 -0
  72. package/dist/daemon/electron/agent/tools/monty-tools.js +383 -0
  73. package/dist/daemon/electron/agent/tools/notion-tools.js +312 -0
  74. package/dist/daemon/electron/agent/tools/onedrive-tools.js +217 -0
  75. package/dist/daemon/electron/agent/tools/read-files.js +139 -0
  76. package/dist/daemon/electron/agent/tools/registry.js +4472 -0
  77. package/dist/daemon/electron/agent/tools/search-tools.js +109 -0
  78. package/dist/daemon/electron/agent/tools/sharepoint-tools.js +243 -0
  79. package/dist/daemon/electron/agent/tools/shell-tools.js +596 -0
  80. package/dist/daemon/electron/agent/tools/skill-tools.js +274 -0
  81. package/dist/daemon/electron/agent/tools/system-tools.js +733 -0
  82. package/dist/daemon/electron/agent/tools/vision-tools.js +316 -0
  83. package/dist/daemon/electron/agent/tools/visual-tools.js +1013 -0
  84. package/dist/daemon/electron/agent/tools/voice-call-tools.js +239 -0
  85. package/dist/daemon/electron/agent/tools/web-fetch-tools.js +444 -0
  86. package/dist/daemon/electron/agent/tools/x-tools.js +264 -0
  87. package/dist/daemon/electron/agents/AgentRoleRepository.js +420 -0
  88. package/dist/daemon/electron/agents/AgentTeamItemRepository.js +172 -0
  89. package/dist/daemon/electron/agents/AgentTeamOrchestrator.js +269 -0
  90. package/dist/daemon/electron/agents/AgentTeamRepository.js +157 -0
  91. package/dist/daemon/electron/agents/AgentTeamRunRepository.js +140 -0
  92. package/dist/daemon/electron/agents/CrossSignalService.js +325 -0
  93. package/dist/daemon/electron/agents/FeedbackService.js +323 -0
  94. package/dist/daemon/electron/agents/MentionRepository.js +197 -0
  95. package/dist/daemon/electron/agents/agent-dispatch.js +69 -0
  96. package/dist/daemon/electron/agents/mentions.js +135 -0
  97. package/dist/daemon/electron/canvas/canvas-manager.js +744 -0
  98. package/dist/daemon/electron/canvas/canvas-store.js +174 -0
  99. package/dist/daemon/electron/control-plane/client.js +364 -0
  100. package/dist/daemon/electron/control-plane/protocol.js +208 -0
  101. package/dist/daemon/electron/control-plane/remote-client.js +437 -0
  102. package/dist/daemon/electron/control-plane/server.js +689 -0
  103. package/dist/daemon/electron/control-plane/settings.js +372 -0
  104. package/dist/daemon/electron/control-plane/web-ui.js +999 -0
  105. package/dist/daemon/electron/cron/index.js +30 -0
  106. package/dist/daemon/electron/cron/schedule.js +190 -0
  107. package/dist/daemon/electron/cron/service.js +731 -0
  108. package/dist/daemon/electron/cron/store.js +155 -0
  109. package/dist/daemon/electron/cron/types.js +82 -0
  110. package/dist/daemon/electron/cron/webhook.js +258 -0
  111. package/dist/daemon/electron/database/SecureSettingsRepository.js +452 -0
  112. package/dist/daemon/electron/database/repositories.js +2271 -0
  113. package/dist/daemon/electron/database/schema.js +1164 -0
  114. package/dist/daemon/electron/gateway/channel-registry.js +1126 -0
  115. package/dist/daemon/electron/gateway/channels/bluebubbles-client.js +479 -0
  116. package/dist/daemon/electron/gateway/channels/bluebubbles.js +435 -0
  117. package/dist/daemon/electron/gateway/channels/discord.js +1026 -0
  118. package/dist/daemon/electron/gateway/channels/email-client.js +701 -0
  119. package/dist/daemon/electron/gateway/channels/email.js +443 -0
  120. package/dist/daemon/electron/gateway/channels/google-chat.js +730 -0
  121. package/dist/daemon/electron/gateway/channels/imessage-client.js +363 -0
  122. package/dist/daemon/electron/gateway/channels/imessage.js +520 -0
  123. package/dist/daemon/electron/gateway/channels/line-client.js +470 -0
  124. package/dist/daemon/electron/gateway/channels/line.js +481 -0
  125. package/dist/daemon/electron/gateway/channels/matrix-client.js +444 -0
  126. package/dist/daemon/electron/gateway/channels/matrix.js +619 -0
  127. package/dist/daemon/electron/gateway/channels/mattermost-client.js +394 -0
  128. package/dist/daemon/electron/gateway/channels/mattermost.js +498 -0
  129. package/dist/daemon/electron/gateway/channels/signal-client.js +499 -0
  130. package/dist/daemon/electron/gateway/channels/signal.js +584 -0
  131. package/dist/daemon/electron/gateway/channels/slack.js +494 -0
  132. package/dist/daemon/electron/gateway/channels/teams.js +712 -0
  133. package/dist/daemon/electron/gateway/channels/telegram.js +1613 -0
  134. package/dist/daemon/electron/gateway/channels/twitch-client.js +502 -0
  135. package/dist/daemon/electron/gateway/channels/twitch.js +398 -0
  136. package/dist/daemon/electron/gateway/channels/types.js +8 -0
  137. package/dist/daemon/electron/gateway/channels/whatsapp.js +1031 -0
  138. package/dist/daemon/electron/gateway/chat-transcript.js +120 -0
  139. package/dist/daemon/electron/gateway/context-policy.js +268 -0
  140. package/dist/daemon/electron/gateway/index.js +1262 -0
  141. package/dist/daemon/electron/gateway/router-rules.js +168 -0
  142. package/dist/daemon/electron/gateway/router.js +5673 -0
  143. package/dist/daemon/electron/gateway/security.js +388 -0
  144. package/dist/daemon/electron/gateway/session.js +115 -0
  145. package/dist/daemon/electron/gateway/tunnel.js +503 -0
  146. package/dist/daemon/electron/guardrails/guardrail-manager.js +348 -0
  147. package/dist/daemon/electron/mcp/client/MCPClientManager.js +342 -0
  148. package/dist/daemon/electron/mcp/client/MCPServerConnection.js +437 -0
  149. package/dist/daemon/electron/mcp/client/transports/SSETransport.js +304 -0
  150. package/dist/daemon/electron/mcp/client/transports/StdioTransport.js +313 -0
  151. package/dist/daemon/electron/mcp/client/transports/WebSocketTransport.js +329 -0
  152. package/dist/daemon/electron/mcp/settings.js +526 -0
  153. package/dist/daemon/electron/mcp/types.js +59 -0
  154. package/dist/daemon/electron/memory/MarkdownMemoryIndexService.js +973 -0
  155. package/dist/daemon/electron/memory/MemoryService.js +794 -0
  156. package/dist/daemon/electron/memory/WorkspaceKitContext.js +360 -0
  157. package/dist/daemon/electron/memory/local-embedding.js +81 -0
  158. package/dist/daemon/electron/sandbox/monty-engine.js +250 -0
  159. package/dist/daemon/electron/security/concurrency.js +293 -0
  160. package/dist/daemon/electron/security/monty-tool-policy.js +143 -0
  161. package/dist/daemon/electron/security/policy-manager.js +435 -0
  162. package/dist/daemon/electron/security/project-access.js +137 -0
  163. package/dist/daemon/electron/settings/appearance-manager.js +210 -0
  164. package/dist/daemon/electron/settings/box-manager.js +54 -0
  165. package/dist/daemon/electron/settings/dropbox-manager.js +54 -0
  166. package/dist/daemon/electron/settings/google-workspace-manager.js +55 -0
  167. package/dist/daemon/electron/settings/memory-features-manager.js +62 -0
  168. package/dist/daemon/electron/settings/notion-manager.js +56 -0
  169. package/dist/daemon/electron/settings/onedrive-manager.js +54 -0
  170. package/dist/daemon/electron/settings/personality-manager.js +740 -0
  171. package/dist/daemon/electron/settings/sharepoint-manager.js +54 -0
  172. package/dist/daemon/electron/settings/x-manager.js +58 -0
  173. package/dist/daemon/electron/tailscale/exposure.js +188 -0
  174. package/dist/daemon/electron/tailscale/index.js +28 -0
  175. package/dist/daemon/electron/tailscale/settings.js +205 -0
  176. package/dist/daemon/electron/tailscale/tailscale.js +355 -0
  177. package/dist/daemon/electron/utils/box-api.js +153 -0
  178. package/dist/daemon/electron/utils/dropbox-api.js +144 -0
  179. package/dist/daemon/electron/utils/env-migration.js +538 -0
  180. package/dist/daemon/electron/utils/gmail-api.js +99 -0
  181. package/dist/daemon/electron/utils/google-calendar-api.js +92 -0
  182. package/dist/daemon/electron/utils/google-workspace-api.js +196 -0
  183. package/dist/daemon/electron/utils/google-workspace-auth.js +91 -0
  184. package/dist/daemon/electron/utils/json-utils.js +204 -0
  185. package/dist/daemon/electron/utils/notion-api.js +103 -0
  186. package/dist/daemon/electron/utils/onedrive-api.js +113 -0
  187. package/dist/daemon/electron/utils/runtime-mode.js +58 -0
  188. package/dist/daemon/electron/utils/safe-storage.js +31 -0
  189. package/dist/daemon/electron/utils/sharepoint-api.js +109 -0
  190. package/dist/daemon/electron/utils/user-data-dir.js +59 -0
  191. package/dist/daemon/electron/utils/x-cli.js +177 -0
  192. package/dist/daemon/electron/voice/VoiceService.js +507 -0
  193. package/dist/daemon/electron/voice/voice-settings-manager.js +361 -0
  194. package/dist/daemon/shared/agent-preferences.js +36 -0
  195. package/dist/daemon/shared/channelMessages.js +460 -0
  196. package/dist/daemon/shared/llm-provider-catalog.js +198 -0
  197. package/dist/daemon/shared/plan-utils.js +32 -0
  198. package/dist/daemon/shared/types.js +1376 -0
  199. package/docs/vps-linux.md +105 -0
  200. package/package.json +3 -2
package/README.md CHANGED
@@ -55,12 +55,17 @@ Your AI needs a secure home. CoWork OS provides the runtime, security layers, an
55
55
 
56
56
  ### From npm (CLI Launch)
57
57
 
58
+ Use this flow to test like a first-time user in a clean folder:
59
+
58
60
  ```bash
59
61
  # Install into a local folder
60
62
  mkdir -p /tmp/cowork-run
61
63
  cd /tmp/cowork-run
62
64
  npm install cowork-os@latest --no-audit --no-fund
63
65
 
66
+ # Ensure no previously running CoWork instance is active
67
+ pkill -f '/cowork-os' || true
68
+
64
69
  # Start app
65
70
  npx cowork-os
66
71
  ```
@@ -69,6 +74,22 @@ You can also install globally and launch directly:
69
74
 
70
75
  ```bash
71
76
  npm install -g cowork-os
77
+
78
+ # Optional: verify installed version
79
+ npm list -g cowork-os --depth=0
80
+
81
+ # Ensure no previously running CoWork instance is active
82
+ pkill -f '/cowork-os' || true
83
+
84
+ cowork-os
85
+ ```
86
+
87
+ If the app opens but shows `vUnknown` or `Error invoking remote method 'app:getVersion'`, you likely connected to an older already-running instance.
88
+
89
+ Run:
90
+
91
+ ```bash
92
+ pkill -f '/cowork-os' || true
72
93
  cowork-os
73
94
  ```
74
95
 
@@ -117,16 +138,66 @@ The packaged app will be in the `release/` directory.
117
138
 
118
139
  ### Linux VPS (Headless / Server Mode)
119
140
 
120
- Run CoWork OS without a GUI and manage it remotely via the WebSocket Control Plane (Web UI + CLI):
141
+ If this is your first VPS install, start here (Node-only, no Docker):
142
+
143
+ 1. On your VPS (SSH terminal), connect and verify Node version:
144
+
145
+ ```bash
146
+ ssh user@your-vps
147
+ node -v
148
+ npm -v
149
+ ```
150
+
151
+ `cowork-os` requires Node `>=22.12.0`. If you see `v20`/`v21`, upgrade first:
152
+
153
+ ```bash
154
+ curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
155
+ sudo apt-get install -y nodejs
156
+ node -v
157
+ ```
158
+
159
+ 2. Install and start CoWork OS (local install, no sudo needed):
160
+
161
+ ```bash
162
+ mkdir -p ~/cowork-run
163
+ cd ~/cowork-run
164
+ npm init -y >/dev/null
165
+ npm install cowork-os@latest --no-audit --no-fund
166
+
167
+ export COWORK_IMPORT_ENV_SETTINGS=1
168
+ export OPENAI_API_KEY=your_key_here # or ANTHROPIC_API_KEY=your_key_here
169
+ npx coworkd-node --print-control-plane-token
170
+ ```
171
+
172
+ Keep this terminal open. It runs the server and prints your Control Plane token.
173
+
174
+ If you see `sh: 1: tsc: not found` right after `npx coworkd-node`, you are on an older broken npm publish. Upgrade and retry:
175
+
176
+ ```bash
177
+ npm install cowork-os@latest --no-audit --no-fund
178
+ ```
179
+
180
+ 3. On your local machine (second terminal), create the SSH tunnel:
181
+
182
+ ```bash
183
+ ssh -N -L 18789:127.0.0.1:18789 user@your-vps
184
+ ```
185
+
186
+ If local port `18789` is busy:
187
+
188
+ ```bash
189
+ ssh -N -L 28789:127.0.0.1:18789 user@your-vps
190
+ ```
191
+
192
+ 4. Open the web UI in your browser:
193
+
194
+ - `http://127.0.0.1:18789/` (or `http://127.0.0.1:28789/` if you used 28789)
195
+ - Paste the token from step 1
196
+
197
+ For production/persistent setup and Docker/systemd options, use:
121
198
 
122
- - Overview / positioning: `docs/self-hosting.md`
123
199
  - Guide: `docs/vps-linux.md`
124
- - Start (Node-only, no Electron/Xvfb): `node bin/coworkd-node.js`
125
- - Start (headless Electron): `node bin/coworkd.js`
126
- - Web UI (via tunnel): `http://127.0.0.1:18789/`
127
- - Headless creds: set `COWORK_IMPORT_ENV_SETTINGS=1` + `OPENAI_API_KEY`/`ANTHROPIC_API_KEY` (see guide)
128
- - Docker: `docker compose up --build -d`
129
- - systemd templates: `deploy/systemd/`
200
+ - Overview: `docs/self-hosting.md`
130
201
 
131
202
  ---
132
203