@sylix/coworker 2.0.14 → 2.0.16

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 (221) hide show
  1. package/LICENSE +99 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +3 -8
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/slash/mem.d.ts +3 -0
  6. package/dist/commands/slash/mem.d.ts.map +1 -0
  7. package/dist/commands/slash/mem.js +167 -0
  8. package/dist/commands/slash/mem.js.map +1 -0
  9. package/dist/commands/slash/registry.d.ts.map +1 -1
  10. package/dist/commands/slash/registry.js +2 -0
  11. package/dist/commands/slash/registry.js.map +1 -1
  12. package/dist/core/CoWorkerAgent.d.ts +4 -1
  13. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  14. package/dist/core/CoWorkerAgent.js +159 -12
  15. package/dist/core/CoWorkerAgent.js.map +1 -1
  16. package/dist/services/BrowserService.d.ts.map +1 -1
  17. package/dist/services/BrowserService.js +111 -0
  18. package/dist/services/BrowserService.js.map +1 -1
  19. package/dist/services/ChromeExtensionService.d.ts +63 -0
  20. package/dist/services/ChromeExtensionService.d.ts.map +1 -0
  21. package/dist/services/ChromeExtensionService.js +237 -0
  22. package/dist/services/ChromeExtensionService.js.map +1 -0
  23. package/dist/services/browser/browser-manager.d.ts +2 -0
  24. package/dist/services/browser/browser-manager.d.ts.map +1 -1
  25. package/dist/services/browser/browser-manager.js +13 -4
  26. package/dist/services/browser/browser-manager.js.map +1 -1
  27. package/dist/services/browser/protocol.d.ts +4 -4
  28. package/dist/services/browser/sandbox/quickjs-sandbox.d.ts.map +1 -1
  29. package/dist/services/browser/sandbox/quickjs-sandbox.js +71 -1
  30. package/dist/services/browser/sandbox/quickjs-sandbox.js.map +1 -1
  31. package/dist/services/compact/CompactService.d.ts +22 -0
  32. package/dist/services/compact/CompactService.d.ts.map +1 -0
  33. package/dist/services/compact/CompactService.js +156 -0
  34. package/dist/services/compact/CompactService.js.map +1 -0
  35. package/dist/session/db.d.ts +29 -0
  36. package/dist/session/db.d.ts.map +1 -1
  37. package/dist/session/db.js +74 -0
  38. package/dist/session/db.js.map +1 -1
  39. package/dist/tasks/LocalBashTask.d.ts +18 -0
  40. package/dist/tasks/LocalBashTask.d.ts.map +1 -0
  41. package/dist/tasks/LocalBashTask.js +83 -0
  42. package/dist/tasks/LocalBashTask.js.map +1 -0
  43. package/dist/tasks/Task.d.ts +34 -0
  44. package/dist/tasks/Task.d.ts.map +1 -0
  45. package/dist/tasks/Task.js +98 -0
  46. package/dist/tasks/Task.js.map +1 -0
  47. package/dist/tasks/diskOutput.d.ts +13 -0
  48. package/dist/tasks/diskOutput.d.ts.map +1 -0
  49. package/dist/tasks/diskOutput.js +168 -0
  50. package/dist/tasks/diskOutput.js.map +1 -0
  51. package/dist/tasks/index.d.ts +7 -0
  52. package/dist/tasks/index.d.ts.map +1 -0
  53. package/dist/tasks/index.js +19 -0
  54. package/dist/tasks/index.js.map +1 -0
  55. package/dist/tools/AgentTool.d.ts +41 -0
  56. package/dist/tools/AgentTool.d.ts.map +1 -0
  57. package/dist/tools/AgentTool.js +32 -0
  58. package/dist/tools/AgentTool.js.map +1 -0
  59. package/dist/tools/AskUserQuestionTool.d.ts +71 -0
  60. package/dist/tools/AskUserQuestionTool.d.ts.map +1 -0
  61. package/dist/tools/AskUserQuestionTool.js +33 -0
  62. package/dist/tools/AskUserQuestionTool.js.map +1 -0
  63. package/dist/tools/BashTool.d.ts +43 -0
  64. package/dist/tools/BashTool.d.ts.map +1 -0
  65. package/dist/tools/BashTool.js +97 -0
  66. package/dist/tools/BashTool.js.map +1 -0
  67. package/dist/tools/BriefTool.d.ts +23 -0
  68. package/dist/tools/BriefTool.d.ts.map +1 -0
  69. package/dist/tools/BriefTool.js +61 -0
  70. package/dist/tools/BriefTool.js.map +1 -0
  71. package/dist/tools/ConfigTool.d.ts +35 -0
  72. package/dist/tools/ConfigTool.d.ts.map +1 -0
  73. package/dist/tools/ConfigTool.js +81 -0
  74. package/dist/tools/ConfigTool.js.map +1 -0
  75. package/dist/tools/EnterPlanModeTool.d.ts +23 -0
  76. package/dist/tools/EnterPlanModeTool.d.ts.map +1 -0
  77. package/dist/tools/EnterPlanModeTool.js +21 -0
  78. package/dist/tools/EnterPlanModeTool.js.map +1 -0
  79. package/dist/tools/ExitPlanModeTool.d.ts +23 -0
  80. package/dist/tools/ExitPlanModeTool.d.ts.map +1 -0
  81. package/dist/tools/ExitPlanModeTool.js +21 -0
  82. package/dist/tools/ExitPlanModeTool.js.map +1 -0
  83. package/dist/tools/FileEditTool.d.ts +41 -0
  84. package/dist/tools/FileEditTool.d.ts.map +1 -0
  85. package/dist/tools/FileEditTool.js +81 -0
  86. package/dist/tools/FileEditTool.js.map +1 -0
  87. package/dist/tools/FileReadTool.d.ts +35 -0
  88. package/dist/tools/FileReadTool.d.ts.map +1 -0
  89. package/dist/tools/FileReadTool.js +74 -0
  90. package/dist/tools/FileReadTool.js.map +1 -0
  91. package/dist/tools/FileWriteTool.d.ts +29 -0
  92. package/dist/tools/FileWriteTool.d.ts.map +1 -0
  93. package/dist/tools/FileWriteTool.js +67 -0
  94. package/dist/tools/FileWriteTool.js.map +1 -0
  95. package/dist/tools/GlobTool.d.ts +30 -0
  96. package/dist/tools/GlobTool.d.ts.map +1 -0
  97. package/dist/tools/GlobTool.js +98 -0
  98. package/dist/tools/GlobTool.js.map +1 -0
  99. package/dist/tools/GrepTool.d.ts +36 -0
  100. package/dist/tools/GrepTool.d.ts.map +1 -0
  101. package/dist/tools/GrepTool.js +112 -0
  102. package/dist/tools/GrepTool.js.map +1 -0
  103. package/dist/tools/LSPToolWrapper.d.ts +42 -0
  104. package/dist/tools/LSPToolWrapper.d.ts.map +1 -0
  105. package/dist/tools/LSPToolWrapper.js +49 -0
  106. package/dist/tools/LSPToolWrapper.js.map +1 -0
  107. package/dist/tools/ListMcpResourcesTool.d.ts +11 -0
  108. package/dist/tools/ListMcpResourcesTool.d.ts.map +1 -0
  109. package/dist/tools/ListMcpResourcesTool.js +19 -0
  110. package/dist/tools/ListMcpResourcesTool.js.map +1 -0
  111. package/dist/tools/NotebookEditTool.d.ts +41 -0
  112. package/dist/tools/NotebookEditTool.d.ts.map +1 -0
  113. package/dist/tools/NotebookEditTool.js +30 -0
  114. package/dist/tools/NotebookEditTool.js.map +1 -0
  115. package/dist/tools/SchemaGenerator.d.ts +3 -0
  116. package/dist/tools/SchemaGenerator.d.ts.map +1 -0
  117. package/dist/tools/SchemaGenerator.js +69 -0
  118. package/dist/tools/SchemaGenerator.js.map +1 -0
  119. package/dist/tools/SkillTool.d.ts +29 -0
  120. package/dist/tools/SkillTool.d.ts.map +1 -0
  121. package/dist/tools/SkillTool.js +28 -0
  122. package/dist/tools/SkillTool.js.map +1 -0
  123. package/dist/tools/TaskCreateTool.d.ts +41 -0
  124. package/dist/tools/TaskCreateTool.d.ts.map +1 -0
  125. package/dist/tools/TaskCreateTool.js +67 -0
  126. package/dist/tools/TaskCreateTool.js.map +1 -0
  127. package/dist/tools/TaskGetTool.d.ts +23 -0
  128. package/dist/tools/TaskGetTool.d.ts.map +1 -0
  129. package/dist/tools/TaskGetTool.js +66 -0
  130. package/dist/tools/TaskGetTool.js.map +1 -0
  131. package/dist/tools/TaskListTool.d.ts +11 -0
  132. package/dist/tools/TaskListTool.d.ts.map +1 -0
  133. package/dist/tools/TaskListTool.js +64 -0
  134. package/dist/tools/TaskListTool.js.map +1 -0
  135. package/dist/tools/TaskOutputTool.d.ts +29 -0
  136. package/dist/tools/TaskOutputTool.d.ts.map +1 -0
  137. package/dist/tools/TaskOutputTool.js +66 -0
  138. package/dist/tools/TaskOutputTool.js.map +1 -0
  139. package/dist/tools/TaskStopTool.d.ts +23 -0
  140. package/dist/tools/TaskStopTool.d.ts.map +1 -0
  141. package/dist/tools/TaskStopTool.js +66 -0
  142. package/dist/tools/TaskStopTool.js.map +1 -0
  143. package/dist/tools/TaskUpdateTool.d.ts +79 -0
  144. package/dist/tools/TaskUpdateTool.d.ts.map +1 -0
  145. package/dist/tools/TaskUpdateTool.js +73 -0
  146. package/dist/tools/TaskUpdateTool.js.map +1 -0
  147. package/dist/tools/TodoWriteTool.d.ts +63 -0
  148. package/dist/tools/TodoWriteTool.d.ts.map +1 -0
  149. package/dist/tools/TodoWriteTool.js +79 -0
  150. package/dist/tools/TodoWriteTool.js.map +1 -0
  151. package/dist/tools/Tool.d.ts +32 -0
  152. package/dist/tools/Tool.d.ts.map +1 -0
  153. package/dist/tools/Tool.js +20 -0
  154. package/dist/tools/Tool.js.map +1 -0
  155. package/dist/tools/ToolContext.d.ts +12 -0
  156. package/dist/tools/ToolContext.d.ts.map +1 -0
  157. package/dist/tools/ToolContext.js +3 -0
  158. package/dist/tools/ToolContext.js.map +1 -0
  159. package/dist/tools/ToolSearchTool.d.ts +23 -0
  160. package/dist/tools/ToolSearchTool.d.ts.map +1 -0
  161. package/dist/tools/ToolSearchTool.js +62 -0
  162. package/dist/tools/ToolSearchTool.js.map +1 -0
  163. package/dist/tools/WebFetchTool.d.ts +29 -0
  164. package/dist/tools/WebFetchTool.d.ts.map +1 -0
  165. package/dist/tools/WebFetchTool.js +42 -0
  166. package/dist/tools/WebFetchTool.js.map +1 -0
  167. package/dist/tools/WebSearchTool.d.ts +23 -0
  168. package/dist/tools/WebSearchTool.d.ts.map +1 -0
  169. package/dist/tools/WebSearchTool.js +38 -0
  170. package/dist/tools/WebSearchTool.js.map +1 -0
  171. package/dist/tools/bash/readOnly.d.ts +7 -0
  172. package/dist/tools/bash/readOnly.d.ts.map +1 -0
  173. package/dist/tools/bash/readOnly.js +41 -0
  174. package/dist/tools/bash/readOnly.js.map +1 -0
  175. package/dist/tools/bash/sandbox.d.ts +3 -0
  176. package/dist/tools/bash/sandbox.d.ts.map +1 -0
  177. package/dist/tools/bash/sandbox.js +27 -0
  178. package/dist/tools/bash/sandbox.js.map +1 -0
  179. package/dist/tools/bash/semantic.d.ts +5 -0
  180. package/dist/tools/bash/semantic.d.ts.map +1 -0
  181. package/dist/tools/bash/semantic.js +106 -0
  182. package/dist/tools/bash/semantic.js.map +1 -0
  183. package/dist/tools/index.d.ts +26 -0
  184. package/dist/tools/index.d.ts.map +1 -0
  185. package/dist/tools/index.js +74 -0
  186. package/dist/tools/index.js.map +1 -0
  187. package/dist/utils/claudeInChrome/chromeNativeHost.d.ts +3 -0
  188. package/dist/utils/claudeInChrome/chromeNativeHost.d.ts.map +1 -0
  189. package/dist/utils/claudeInChrome/chromeNativeHost.js +376 -0
  190. package/dist/utils/claudeInChrome/chromeNativeHost.js.map +1 -0
  191. package/dist/utils/claudeInChrome/common.d.ts +32 -0
  192. package/dist/utils/claudeInChrome/common.d.ts.map +1 -0
  193. package/dist/utils/claudeInChrome/common.js +301 -0
  194. package/dist/utils/claudeInChrome/common.js.map +1 -0
  195. package/dist/utils/claudeInChrome/mcpServer.d.ts +2 -0
  196. package/dist/utils/claudeInChrome/mcpServer.d.ts.map +1 -0
  197. package/dist/utils/claudeInChrome/mcpServer.js +143 -0
  198. package/dist/utils/claudeInChrome/mcpServer.js.map +1 -0
  199. package/dist/utils/claudeInChrome/setup.d.ts +22 -0
  200. package/dist/utils/claudeInChrome/setup.d.ts.map +1 -0
  201. package/dist/utils/claudeInChrome/setup.js +202 -0
  202. package/dist/utils/claudeInChrome/setup.js.map +1 -0
  203. package/dist/utils/contextManager.d.ts +1 -1
  204. package/dist/utils/contextManager.d.ts.map +1 -1
  205. package/dist/utils/contextManager.js +1 -1
  206. package/dist/utils/contextManager.js.map +1 -1
  207. package/dist/utils/features.d.ts +3 -0
  208. package/dist/utils/features.d.ts.map +1 -0
  209. package/dist/utils/features.js +31 -0
  210. package/dist/utils/features.js.map +1 -0
  211. package/dist/utils/inputbar.d.ts +2 -2
  212. package/dist/utils/inputbar.d.ts.map +1 -1
  213. package/dist/utils/inputbar.js +7 -6
  214. package/dist/utils/inputbar.js.map +1 -1
  215. package/dist/utils/output.js +1 -1
  216. package/dist/utils/output.js.map +1 -1
  217. package/dist/utils/permissions.d.ts +18 -0
  218. package/dist/utils/permissions.d.ts.map +1 -0
  219. package/dist/utils/permissions.js +25 -0
  220. package/dist/utils/permissions.js.map +1 -0
  221. package/package.json +3 -2
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendChromeMessage = sendChromeMessage;
4
+ exports.runChromeNativeHost = runChromeNativeHost;
5
+ const promises_1 = require("fs/promises");
6
+ const net_1 = require("net");
7
+ const os_1 = require("os");
8
+ const path_1 = require("path");
9
+ const VERSION = '1.0.0';
10
+ const MAX_MESSAGE_SIZE = 1024 * 1024;
11
+ function getSocketDir() {
12
+ const username = (() => {
13
+ try {
14
+ return (0, os_1.userInfo)().username || 'default';
15
+ }
16
+ catch {
17
+ return process.env.USER || process.env.USERNAME || 'default';
18
+ }
19
+ })();
20
+ return (0, path_1.join)(process.env.TEMP || '/tmp', `coworker-mcp-browser-bridge-${username}`);
21
+ }
22
+ function getSecureSocketPath() {
23
+ // Use env var if provided (set by BrowserService), otherwise compute default
24
+ if (process.env.COWORKER_NATIVE_SOCKET) {
25
+ return process.env.COWORKER_NATIVE_SOCKET;
26
+ }
27
+ const username = (() => {
28
+ try {
29
+ return (0, os_1.userInfo)().username || 'default';
30
+ }
31
+ catch {
32
+ return process.env.USER || process.env.USERNAME || 'default';
33
+ }
34
+ })();
35
+ if ((0, os_1.platform)() === 'win32') {
36
+ return `\\\\.\\pipe\\coworker-mcp-browser-bridge-${username}`;
37
+ }
38
+ return (0, path_1.join)(getSocketDir(), `coworker-mcp.sock`);
39
+ }
40
+ function jsonParse(text) {
41
+ return JSON.parse(text);
42
+ }
43
+ function jsonStringify(value, space) {
44
+ return JSON.stringify(value, null, space);
45
+ }
46
+ const LOG_FILE = (0, path_1.join)((0, os_1.homedir)(), '.coworker', 'debug', 'chrome-native-host.txt');
47
+ function log(message, ...args) {
48
+ const timestamp = new Date().toISOString();
49
+ const formattedArgs = args.length > 0 ? ' ' + jsonStringify(args) : '';
50
+ const logLine = `[${timestamp}] [CoWorker Chrome Native Host] ${message}${formattedArgs}\n`;
51
+ void (0, promises_1.appendFile)(LOG_FILE, logLine).catch(() => { });
52
+ console.error(`[CoWorker Chrome Native Host] ${message}`, ...args);
53
+ }
54
+ function sendChromeMessage(message) {
55
+ const jsonBytes = Buffer.from(message, 'utf-8');
56
+ const lengthBuffer = Buffer.alloc(4);
57
+ lengthBuffer.writeUInt32LE(jsonBytes.length, 0);
58
+ process.stdout.write(lengthBuffer);
59
+ process.stdout.write(jsonBytes);
60
+ }
61
+ async function runChromeNativeHost() {
62
+ log('Initializing...');
63
+ const host = new CoWorkerChromeNativeHost();
64
+ const messageReader = new ChromeMessageReader();
65
+ await host.start();
66
+ while (true) {
67
+ const message = await messageReader.read();
68
+ if (message === null) {
69
+ break;
70
+ }
71
+ await host.handleMessage(message);
72
+ }
73
+ await host.stop();
74
+ }
75
+ class CoWorkerChromeNativeHost {
76
+ constructor() {
77
+ this.mcpClients = new Map();
78
+ this.nextClientId = 1;
79
+ this.server = null;
80
+ this.running = false;
81
+ this.socketPath = null;
82
+ }
83
+ async start() {
84
+ if (this.running) {
85
+ return;
86
+ }
87
+ this.socketPath = getSecureSocketPath();
88
+ if ((0, os_1.platform)() !== 'win32') {
89
+ const socketDir = getSocketDir();
90
+ try {
91
+ const dirStats = await (0, promises_1.stat)(socketDir);
92
+ if (!dirStats.isDirectory()) {
93
+ await (0, promises_1.unlink)(socketDir);
94
+ }
95
+ }
96
+ catch { }
97
+ await (0, promises_1.mkdir)(socketDir, { recursive: true, mode: 0o700 });
98
+ await (0, promises_1.chmod)(socketDir, 0o700).catch(() => { });
99
+ try {
100
+ const files = await (0, promises_1.readdir)(socketDir);
101
+ for (const file of files) {
102
+ if (!file.endsWith('.sock')) {
103
+ continue;
104
+ }
105
+ const pid = parseInt(file.replace('.sock', ''), 10);
106
+ if (isNaN(pid)) {
107
+ continue;
108
+ }
109
+ try {
110
+ process.kill(pid, 0);
111
+ }
112
+ catch {
113
+ await (0, promises_1.unlink)((0, path_1.join)(socketDir, file)).catch(() => { });
114
+ log(`Removed stale socket for PID ${pid}`);
115
+ }
116
+ }
117
+ }
118
+ catch { }
119
+ }
120
+ log(`Creating socket listener: ${this.socketPath}`);
121
+ this.server = (0, net_1.createServer)(socket => this.handleMcpClient(socket));
122
+ await new Promise((resolve, reject) => {
123
+ this.server.listen(this.socketPath, () => {
124
+ log('Socket server listening for connections');
125
+ this.running = true;
126
+ resolve();
127
+ });
128
+ this.server.on('error', err => {
129
+ log('Socket server error:', err);
130
+ reject(err);
131
+ });
132
+ });
133
+ if ((0, os_1.platform)() !== 'win32') {
134
+ try {
135
+ await (0, promises_1.chmod)(this.socketPath, 0o600);
136
+ log('Socket permissions set to 0600');
137
+ }
138
+ catch (e) {
139
+ log('Failed to set socket permissions:', e);
140
+ }
141
+ }
142
+ }
143
+ async stop() {
144
+ if (!this.running) {
145
+ return;
146
+ }
147
+ for (const [, client] of this.mcpClients) {
148
+ client.socket.destroy();
149
+ }
150
+ this.mcpClients.clear();
151
+ if (this.server) {
152
+ await new Promise(resolve => {
153
+ this.server.close(() => resolve());
154
+ });
155
+ this.server = null;
156
+ }
157
+ if ((0, os_1.platform)() !== 'win32' && this.socketPath) {
158
+ try {
159
+ await (0, promises_1.unlink)(this.socketPath);
160
+ log('Cleaned up socket file');
161
+ }
162
+ catch { }
163
+ try {
164
+ const socketDir = getSocketDir();
165
+ const remaining = await (0, promises_1.readdir)(socketDir);
166
+ if (remaining.length === 0) {
167
+ await (0, promises_1.rmdir)(socketDir);
168
+ log('Removed empty socket directory');
169
+ }
170
+ }
171
+ catch { }
172
+ }
173
+ this.running = false;
174
+ }
175
+ async handleMessage(messageJson) {
176
+ let rawMessage;
177
+ try {
178
+ rawMessage = jsonParse(messageJson);
179
+ }
180
+ catch (e) {
181
+ log('Invalid JSON from Chrome:', e.message);
182
+ sendChromeMessage(jsonStringify({
183
+ type: 'error',
184
+ error: 'Invalid message format',
185
+ }));
186
+ return;
187
+ }
188
+ const message = rawMessage;
189
+ log(`Handling Chrome message type: ${message.type}`);
190
+ switch (message.type) {
191
+ case 'ping':
192
+ log('Responding to ping');
193
+ sendChromeMessage(jsonStringify({
194
+ type: 'pong',
195
+ timestamp: Date.now(),
196
+ }));
197
+ break;
198
+ case 'get_status':
199
+ sendChromeMessage(jsonStringify({
200
+ type: 'status_response',
201
+ native_host_version: VERSION,
202
+ }));
203
+ break;
204
+ case 'tool_response': {
205
+ if (this.mcpClients.size > 0) {
206
+ log(`Forwarding tool response to ${this.mcpClients.size} MCP clients`);
207
+ const { type: _, ...data } = message;
208
+ const responseData = Buffer.from(jsonStringify(data), 'utf-8');
209
+ const lengthBuffer = Buffer.alloc(4);
210
+ lengthBuffer.writeUInt32LE(responseData.length, 0);
211
+ const responseMsg = Buffer.concat([lengthBuffer, responseData]);
212
+ for (const [, client] of this.mcpClients) {
213
+ try {
214
+ client.socket.write(responseMsg);
215
+ }
216
+ catch (e) {
217
+ log(`Failed to send to MCP client:`, e);
218
+ }
219
+ }
220
+ }
221
+ break;
222
+ }
223
+ case 'notification': {
224
+ if (this.mcpClients.size > 0) {
225
+ log(`Forwarding notification to ${this.mcpClients.size} MCP clients`);
226
+ const { type: _, ...data } = message;
227
+ const notificationData = Buffer.from(jsonStringify(data), 'utf-8');
228
+ const lengthBuffer = Buffer.alloc(4);
229
+ lengthBuffer.writeUInt32LE(notificationData.length, 0);
230
+ const notificationMsg = Buffer.concat([lengthBuffer, notificationData]);
231
+ for (const [, client] of this.mcpClients) {
232
+ try {
233
+ client.socket.write(notificationMsg);
234
+ }
235
+ catch (e) {
236
+ log(`Failed to send notification to MCP client:`, e);
237
+ }
238
+ }
239
+ }
240
+ break;
241
+ }
242
+ default:
243
+ log(`Unknown message type: ${message.type}`);
244
+ sendChromeMessage(jsonStringify({
245
+ type: 'error',
246
+ error: `Unknown message type: ${message.type}`,
247
+ }));
248
+ }
249
+ }
250
+ handleMcpClient(socket) {
251
+ const clientId = this.nextClientId++;
252
+ const client = {
253
+ id: clientId,
254
+ socket,
255
+ buffer: Buffer.alloc(0),
256
+ };
257
+ this.mcpClients.set(clientId, client);
258
+ log(`MCP client ${clientId} connected. Total clients: ${this.mcpClients.size}`);
259
+ sendChromeMessage(jsonStringify({
260
+ type: 'mcp_connected',
261
+ }));
262
+ socket.on('data', (data) => {
263
+ client.buffer = Buffer.concat([client.buffer, data]);
264
+ while (client.buffer.length >= 4) {
265
+ const length = client.buffer.readUInt32LE(0);
266
+ if (length === 0 || length > MAX_MESSAGE_SIZE) {
267
+ log(`Invalid message length from MCP client ${clientId}: ${length}`);
268
+ socket.destroy();
269
+ return;
270
+ }
271
+ if (client.buffer.length < 4 + length) {
272
+ break;
273
+ }
274
+ const messageBytes = client.buffer.slice(4, 4 + length);
275
+ client.buffer = client.buffer.slice(4 + length);
276
+ try {
277
+ const request = jsonParse(messageBytes.toString('utf-8'));
278
+ log(`Forwarding tool request from MCP client ${clientId}: ${request.method}`);
279
+ sendChromeMessage(jsonStringify({
280
+ type: 'tool_request',
281
+ method: request.method,
282
+ params: request.params,
283
+ }));
284
+ }
285
+ catch (e) {
286
+ log(`Failed to parse tool request from MCP client ${clientId}:`, e);
287
+ }
288
+ }
289
+ });
290
+ socket.on('error', err => {
291
+ log(`MCP client ${clientId} error: ${err}`);
292
+ });
293
+ socket.on('close', () => {
294
+ log(`MCP client ${clientId} disconnected.`);
295
+ this.mcpClients.delete(clientId);
296
+ sendChromeMessage(jsonStringify({
297
+ type: 'mcp_disconnected',
298
+ }));
299
+ });
300
+ }
301
+ }
302
+ class ChromeMessageReader {
303
+ constructor() {
304
+ this.buffer = Buffer.alloc(0);
305
+ this.pendingResolve = null;
306
+ this.closed = false;
307
+ process.stdin.on('data', (chunk) => {
308
+ this.buffer = Buffer.concat([this.buffer, chunk]);
309
+ this.tryProcessMessage();
310
+ });
311
+ process.stdin.on('end', () => {
312
+ this.closed = true;
313
+ if (this.pendingResolve) {
314
+ this.pendingResolve(null);
315
+ this.pendingResolve = null;
316
+ }
317
+ });
318
+ process.stdin.on('error', () => {
319
+ this.closed = true;
320
+ if (this.pendingResolve) {
321
+ this.pendingResolve(null);
322
+ this.pendingResolve = null;
323
+ }
324
+ });
325
+ }
326
+ tryProcessMessage() {
327
+ if (!this.pendingResolve) {
328
+ return;
329
+ }
330
+ if (this.buffer.length < 4) {
331
+ return;
332
+ }
333
+ const length = this.buffer.readUInt32LE(0);
334
+ if (length === 0 || length > MAX_MESSAGE_SIZE) {
335
+ log(`Invalid message length: ${length}`);
336
+ this.pendingResolve(null);
337
+ this.pendingResolve = null;
338
+ return;
339
+ }
340
+ if (this.buffer.length < 4 + length) {
341
+ return;
342
+ }
343
+ const messageBytes = this.buffer.subarray(4, 4 + length);
344
+ this.buffer = this.buffer.subarray(4 + length);
345
+ const message = messageBytes.toString('utf-8');
346
+ this.pendingResolve(message);
347
+ this.pendingResolve = null;
348
+ }
349
+ async read() {
350
+ if (this.closed) {
351
+ return null;
352
+ }
353
+ if (this.buffer.length >= 4) {
354
+ const length = this.buffer.readUInt32LE(0);
355
+ if (length > 0 &&
356
+ length <= MAX_MESSAGE_SIZE &&
357
+ this.buffer.length >= 4 + length) {
358
+ const messageBytes = this.buffer.subarray(4, 4 + length);
359
+ this.buffer = this.buffer.subarray(4 + length);
360
+ return messageBytes.toString('utf-8');
361
+ }
362
+ }
363
+ return new Promise(resolve => {
364
+ this.pendingResolve = resolve;
365
+ this.tryProcessMessage();
366
+ });
367
+ }
368
+ }
369
+ // Entry point: run when invoked with --coworker-chrome-native-host
370
+ if (process.argv.includes('--coworker-chrome-native-host')) {
371
+ runChromeNativeHost().catch(err => {
372
+ console.error('[CoWorker Native Host] Fatal error:', err);
373
+ process.exit(1);
374
+ });
375
+ }
376
+ //# sourceMappingURL=chromeNativeHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chromeNativeHost.js","sourceRoot":"","sources":["../../../src/utils/claudeInChrome/chromeNativeHost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export type ChromiumBrowser = 'chrome' | 'brave' | 'edge' | 'chromium' | 'arc' | 'vivaldi' | 'opera';
2
+ type BrowserConfig = {
3
+ name: string;
4
+ macos: {
5
+ appName: string;
6
+ dataPath: string[];
7
+ nativeMessagingPath: string[];
8
+ };
9
+ linux: {
10
+ binaries: string[];
11
+ dataPath: string[];
12
+ nativeMessagingPath: string[];
13
+ };
14
+ windows: {
15
+ dataPath: string[];
16
+ registryKey: string;
17
+ useRoaming?: boolean;
18
+ };
19
+ };
20
+ export declare const CHROMIUM_BROWSERS: Record<ChromiumBrowser, BrowserConfig>;
21
+ export declare const BROWSER_DETECTION_ORDER: ChromiumBrowser[];
22
+ export declare function getAllBrowserDataPaths(): {
23
+ browser: ChromiumBrowser;
24
+ path: string;
25
+ }[];
26
+ export declare function getSocketDir(): string;
27
+ export declare function getSecureSocketPath(): string;
28
+ export declare function getAllSocketPaths(): string[];
29
+ export declare function detectAvailableBrowser(): Promise<ChromiumBrowser | null>;
30
+ export declare function isExtensionSupportedBrowser(browser: ChromiumBrowser): boolean;
31
+ export {};
32
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/claudeInChrome/common.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAA;AAEpG,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,mBAAmB,EAAE,MAAM,EAAE,CAAA;KAC9B,CAAA;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,mBAAmB,EAAE,MAAM,EAAE,CAAA;KAC9B,CAAA;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAyHpE,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,eAAe,EAAuE,CAAA;AAE5H,wBAAgB,sBAAsB,IAAI;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAuCrF;AAED,wBAAgB,YAAY,IAAI,MAAM,CASrC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAgB5C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAkB5C;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA+C9E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAE7E"}