@diggerhq/anyware 0.7.32 ā 0.7.34
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.
- package/dist/api/wsClient.d.ts +34 -0
- package/dist/api/wsClient.d.ts.map +1 -1
- package/dist/api/wsClient.js +214 -0
- package/dist/api/wsClient.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +14 -113
- package/dist/main.js.map +1 -1
- package/dist/server/display.d.ts +5 -0
- package/dist/server/display.d.ts.map +1 -0
- package/dist/server/display.js +21 -0
- package/dist/server/display.js.map +1 -0
- package/dist/server/index.d.ts +5 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +94 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/lockfile.d.ts +3 -0
- package/dist/server/lockfile.d.ts.map +1 -0
- package/dist/server/lockfile.js +32 -0
- package/dist/server/lockfile.js.map +1 -0
- package/dist/server/sessionManager.d.ts +20 -0
- package/dist/server/sessionManager.d.ts.map +1 -0
- package/dist/server/sessionManager.js +112 -0
- package/dist/server/sessionManager.js.map +1 -0
- package/package.json +5 -2
- package/dist/claude/claudeLocal.d.ts +0 -17
- package/dist/claude/claudeLocal.d.ts.map +0 -1
- package/dist/claude/claudeLocal.js +0 -171
- package/dist/claude/claudeLocal.js.map +0 -1
- package/dist/claude/claudeLocalLauncher.d.ts +0 -14
- package/dist/claude/claudeLocalLauncher.d.ts.map +0 -1
- package/dist/claude/claudeLocalLauncher.js +0 -167
- package/dist/claude/claudeLocalLauncher.js.map +0 -1
- package/dist/claude/claudeRemote.d.ts +0 -27
- package/dist/claude/claudeRemote.d.ts.map +0 -1
- package/dist/claude/claudeRemote.js +0 -250
- package/dist/claude/claudeRemote.js.map +0 -1
- package/dist/claude/claudeRemoteLauncher.d.ts +0 -15
- package/dist/claude/claudeRemoteLauncher.d.ts.map +0 -1
- package/dist/claude/claudeRemoteLauncher.js +0 -182
- package/dist/claude/claudeRemoteLauncher.js.map +0 -1
- package/dist/claude/loop.d.ts +0 -24
- package/dist/claude/loop.d.ts.map +0 -1
- package/dist/claude/loop.js +0 -52
- package/dist/claude/loop.js.map +0 -1
- package/dist/claude/sessionScanner.d.ts +0 -102
- package/dist/claude/sessionScanner.d.ts.map +0 -1
- package/dist/claude/sessionScanner.js +0 -241
- package/dist/claude/sessionScanner.js.map +0 -1
- package/dist/hooks/generateHookSettings.d.ts +0 -20
- package/dist/hooks/generateHookSettings.d.ts.map +0 -1
- package/dist/hooks/generateHookSettings.js +0 -126
- package/dist/hooks/generateHookSettings.js.map +0 -1
- package/dist/hooks/hookServer.d.ts +0 -45
- package/dist/hooks/hookServer.d.ts.map +0 -1
- package/dist/hooks/hookServer.js +0 -83
- package/dist/hooks/hookServer.js.map +0 -1
package/dist/api/wsClient.d.ts
CHANGED
|
@@ -44,5 +44,39 @@ export interface SessionWSClient {
|
|
|
44
44
|
onClose: (handler: () => void) => void;
|
|
45
45
|
close: () => void;
|
|
46
46
|
}
|
|
47
|
+
export interface ServerWSClient extends SessionWSClient {
|
|
48
|
+
sendSessionError: (sessionId: string, error: Error) => Promise<void>;
|
|
49
|
+
sendPermissionRequest: (sessionId: string, toolName: string, input: unknown) => Promise<void>;
|
|
50
|
+
on(event: 'start_session', handler: (data: StartSessionData) => void): void;
|
|
51
|
+
on(event: 'user_input', handler: (data: UserInputData) => void): void;
|
|
52
|
+
on(event: 'permission_response', handler: (data: PermissionResponseData) => void): void;
|
|
53
|
+
on(event: 'stop_session', handler: (data: StopSessionData) => void): void;
|
|
54
|
+
getSessionUrl: () => string;
|
|
55
|
+
}
|
|
56
|
+
export interface StartSessionData {
|
|
57
|
+
sessionId: string;
|
|
58
|
+
userId: string;
|
|
59
|
+
cwd?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface UserInputData {
|
|
62
|
+
sessionId: string;
|
|
63
|
+
message: string;
|
|
64
|
+
images?: ImageAttachment[];
|
|
65
|
+
}
|
|
66
|
+
export interface PermissionResponseData {
|
|
67
|
+
sessionId: string;
|
|
68
|
+
response: 'yes' | 'no';
|
|
69
|
+
}
|
|
70
|
+
export interface StopSessionData {
|
|
71
|
+
sessionId: string;
|
|
72
|
+
}
|
|
47
73
|
export declare function createWSClient(sessionId: string, userId: string, deviceId?: string): Promise<SessionWSClient>;
|
|
74
|
+
/**
|
|
75
|
+
* Create WebSocket client for server mode
|
|
76
|
+
* Server connects to cloud and handles multiple sessions
|
|
77
|
+
*/
|
|
78
|
+
export declare function createServerWSClient(opts: {
|
|
79
|
+
userId: string;
|
|
80
|
+
deviceId?: string;
|
|
81
|
+
}): Promise<ServerWSClient>;
|
|
48
82
|
//# sourceMappingURL=wsClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsClient.d.ts","sourceRoot":"","sources":["../../src/api/wsClient.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,CAAC;AAE3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;IACjE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAwL7G"}
|
|
1
|
+
{"version":3,"file":"wsClient.d.ts","sourceRoot":"","sources":["../../src/api/wsClient.ts"],"names":[],"mappings":"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"}
|
package/dist/api/wsClient.js
CHANGED
|
@@ -165,4 +165,218 @@ export function createWSClient(sessionId, userId, deviceId) {
|
|
|
165
165
|
connect();
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Create WebSocket client for server mode
|
|
170
|
+
* Server connects to cloud and handles multiple sessions
|
|
171
|
+
*/
|
|
172
|
+
export function createServerWSClient(opts) {
|
|
173
|
+
return new Promise((resolve, reject) => {
|
|
174
|
+
const config = loadConfig();
|
|
175
|
+
if (!config.accessToken) {
|
|
176
|
+
reject(new Error('Not logged in'));
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const wsUrl = config.apiUrl.replace('https://', 'wss://').replace('http://', 'ws://');
|
|
180
|
+
const deviceParam = opts.deviceId ? `&deviceId=${opts.deviceId}` : '';
|
|
181
|
+
const url = `${wsUrl}/ws/server?userId=${opts.userId}${deviceParam}&token=${config.accessToken}`;
|
|
182
|
+
let ws;
|
|
183
|
+
let messageHandler = null;
|
|
184
|
+
let closeHandler = null;
|
|
185
|
+
let pingInterval = null;
|
|
186
|
+
let reconnectAttempts = 0;
|
|
187
|
+
const maxReconnects = 50;
|
|
188
|
+
let isIntentionallyClosed = false;
|
|
189
|
+
let clientResolved = false;
|
|
190
|
+
// Event handlers for server mode
|
|
191
|
+
const eventHandlers = new Map();
|
|
192
|
+
function connect() {
|
|
193
|
+
ws = new WebSocket(url);
|
|
194
|
+
ws.on('open', () => {
|
|
195
|
+
if (reconnectAttempts > 0) {
|
|
196
|
+
console.log('[ws:server] Reconnected to cloud');
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
console.log('[ws:server] Connected to cloud');
|
|
200
|
+
}
|
|
201
|
+
reconnectAttempts = 0;
|
|
202
|
+
// Notify cloud that server is ready
|
|
203
|
+
ws.send(JSON.stringify({ type: 'server_ready', deviceId: opts.deviceId }));
|
|
204
|
+
if (pingInterval)
|
|
205
|
+
clearInterval(pingInterval);
|
|
206
|
+
pingInterval = setInterval(() => {
|
|
207
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
208
|
+
ws.send(JSON.stringify({ type: 'ping' }));
|
|
209
|
+
}
|
|
210
|
+
}, 30000);
|
|
211
|
+
if (!clientResolved) {
|
|
212
|
+
clientResolved = true;
|
|
213
|
+
resolve(client);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
ws.on('message', (data) => {
|
|
217
|
+
try {
|
|
218
|
+
const message = JSON.parse(data.toString());
|
|
219
|
+
if (message.type === 'pong') {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
// Handle server-specific messages
|
|
223
|
+
if (message.type === 'start_session') {
|
|
224
|
+
const handler = eventHandlers.get('start_session');
|
|
225
|
+
if (handler)
|
|
226
|
+
handler(message.payload);
|
|
227
|
+
}
|
|
228
|
+
else if (message.type === 'user_input') {
|
|
229
|
+
const handler = eventHandlers.get('user_input');
|
|
230
|
+
if (handler)
|
|
231
|
+
handler(message.payload);
|
|
232
|
+
}
|
|
233
|
+
else if (message.type === 'permission_response') {
|
|
234
|
+
const handler = eventHandlers.get('permission_response');
|
|
235
|
+
if (handler)
|
|
236
|
+
handler(message.payload);
|
|
237
|
+
}
|
|
238
|
+
else if (message.type === 'stop_session') {
|
|
239
|
+
const handler = eventHandlers.get('stop_session');
|
|
240
|
+
if (handler)
|
|
241
|
+
handler(message.payload);
|
|
242
|
+
}
|
|
243
|
+
else if (messageHandler && (message.type === 'user_input' || message.type === 'permission_response' || message.type === 'switch')) {
|
|
244
|
+
messageHandler(message);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
console.error('[ws:server] Failed to parse message:', e);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
ws.on('close', () => {
|
|
252
|
+
if (pingInterval) {
|
|
253
|
+
clearInterval(pingInterval);
|
|
254
|
+
pingInterval = null;
|
|
255
|
+
}
|
|
256
|
+
if (isIntentionallyClosed) {
|
|
257
|
+
console.log('[ws:server] Disconnected from cloud');
|
|
258
|
+
if (closeHandler) {
|
|
259
|
+
closeHandler();
|
|
260
|
+
}
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (reconnectAttempts < maxReconnects) {
|
|
264
|
+
reconnectAttempts++;
|
|
265
|
+
const delay = Math.min(1000 * reconnectAttempts, 10000);
|
|
266
|
+
console.log(`[ws:server] Connection lost, reconnecting in ${delay / 1000}s (attempt ${reconnectAttempts}/${maxReconnects})`);
|
|
267
|
+
setTimeout(connect, delay);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
console.log('[ws:server] Max reconnect attempts reached, giving up');
|
|
271
|
+
if (closeHandler) {
|
|
272
|
+
closeHandler();
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
ws.on('error', (error) => {
|
|
277
|
+
console.error('[ws:server] WebSocket error:', error.message);
|
|
278
|
+
if (!clientResolved) {
|
|
279
|
+
reject(error);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
const client = {
|
|
284
|
+
send: (message) => {
|
|
285
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
286
|
+
ws.send(JSON.stringify(message));
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
sendClaudeEvent: (event, sessionId) => {
|
|
290
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
291
|
+
const eventWithTs = event;
|
|
292
|
+
let timestamp = Date.now();
|
|
293
|
+
if (eventWithTs.timestamp) {
|
|
294
|
+
const parsed = new Date(eventWithTs.timestamp).getTime();
|
|
295
|
+
if (!isNaN(parsed)) {
|
|
296
|
+
timestamp = parsed;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
ws.send(JSON.stringify({
|
|
300
|
+
type: 'claude_event',
|
|
301
|
+
payload: {
|
|
302
|
+
sessionId,
|
|
303
|
+
event,
|
|
304
|
+
timestamp,
|
|
305
|
+
},
|
|
306
|
+
}));
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
sendSessionError: async (sessionId, error) => {
|
|
310
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
311
|
+
ws.send(JSON.stringify({
|
|
312
|
+
type: 'session_error',
|
|
313
|
+
payload: {
|
|
314
|
+
sessionId,
|
|
315
|
+
error: error.message,
|
|
316
|
+
timestamp: Date.now(),
|
|
317
|
+
},
|
|
318
|
+
}));
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
sendPermissionRequest: async (sessionId, toolName, input) => {
|
|
322
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
323
|
+
ws.send(JSON.stringify({
|
|
324
|
+
type: 'permission_request',
|
|
325
|
+
payload: {
|
|
326
|
+
sessionId,
|
|
327
|
+
toolName,
|
|
328
|
+
input,
|
|
329
|
+
timestamp: Date.now(),
|
|
330
|
+
},
|
|
331
|
+
}));
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
sendThinking: (thinking) => {
|
|
335
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
336
|
+
ws.send(JSON.stringify({
|
|
337
|
+
type: 'thinking',
|
|
338
|
+
payload: {
|
|
339
|
+
thinking,
|
|
340
|
+
timestamp: Date.now(),
|
|
341
|
+
},
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
sendModeChange: (mode) => {
|
|
346
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
347
|
+
ws.send(JSON.stringify({
|
|
348
|
+
type: 'mode_change',
|
|
349
|
+
payload: {
|
|
350
|
+
mode,
|
|
351
|
+
timestamp: Date.now(),
|
|
352
|
+
},
|
|
353
|
+
}));
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
sendPresence: () => { },
|
|
357
|
+
markActivity: () => { },
|
|
358
|
+
on: ((event, handler) => {
|
|
359
|
+
eventHandlers.set(event, handler);
|
|
360
|
+
}),
|
|
361
|
+
onMessage: (handler) => {
|
|
362
|
+
messageHandler = handler;
|
|
363
|
+
},
|
|
364
|
+
onClose: (handler) => {
|
|
365
|
+
closeHandler = handler;
|
|
366
|
+
},
|
|
367
|
+
getSessionUrl: () => {
|
|
368
|
+
// Return URL for web UI to connect to this server's sessions
|
|
369
|
+
return `${config.apiUrl}/server/${opts.userId}/${opts.deviceId || 'default'}`;
|
|
370
|
+
},
|
|
371
|
+
close: () => {
|
|
372
|
+
isIntentionallyClosed = true;
|
|
373
|
+
if (pingInterval) {
|
|
374
|
+
clearInterval(pingInterval);
|
|
375
|
+
}
|
|
376
|
+
ws.close();
|
|
377
|
+
},
|
|
378
|
+
};
|
|
379
|
+
connect();
|
|
380
|
+
});
|
|
381
|
+
}
|
|
168
382
|
//# sourceMappingURL=wsClient.js.map
|
package/dist/api/wsClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsClient.js","sourceRoot":"","sources":["../../src/api/wsClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wsClient.js","sourceRoot":"","sources":["../../src/api/wsClient.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
package/dist/main.js
CHANGED
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Anyware CLI - Claude Code
|
|
3
|
+
* Anyware CLI - Claude Code Server
|
|
4
4
|
*/
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { createRequire } from 'module';
|
|
7
7
|
import { login, logout } from './api/auth.js';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { Session } from './claude/session.js';
|
|
11
|
-
import { loop } from './claude/loop.js';
|
|
12
|
-
import { StatusBar } from './ui/statusBar.js';
|
|
8
|
+
import { loadConfig, clearConfig, isLoggedIn, saveConfig } from './config/config.js';
|
|
9
|
+
import { startServer } from './server/index.js';
|
|
13
10
|
import { checkForUpdate, isUpdateAvailable, performUpdate, checkAndNotify, } from './update/update.js';
|
|
14
|
-
import { validateClaudeArgs, formatValidationErrors, getClaudeArgsHelp, } from './claude/claudeArgs.js';
|
|
15
11
|
import { setupAlias, promptEnjoymentAndAlias } from './utils/aliasSetup.js';
|
|
16
12
|
const require = createRequire(import.meta.url);
|
|
17
13
|
const { version } = require('../package.json');
|
|
18
14
|
const program = new Command();
|
|
19
15
|
program
|
|
20
16
|
.name('anyware')
|
|
21
|
-
.description('Claude Code
|
|
17
|
+
.description('Claude Code Server - Start a server to handle Claude sessions from web/mobile')
|
|
22
18
|
.version(version);
|
|
23
19
|
// Login command
|
|
24
20
|
program
|
|
@@ -38,7 +34,6 @@ program
|
|
|
38
34
|
.command('logout')
|
|
39
35
|
.description('Logout from Anyware')
|
|
40
36
|
.action(async () => {
|
|
41
|
-
// Open browser to clear WorkOS session before clearing local config
|
|
42
37
|
await logout();
|
|
43
38
|
clearConfig();
|
|
44
39
|
console.log('Logged out successfully');
|
|
@@ -127,55 +122,25 @@ program
|
|
|
127
122
|
console.log(` LLM URL: ${config.llmUrl}`);
|
|
128
123
|
}
|
|
129
124
|
});
|
|
130
|
-
//
|
|
125
|
+
// Main server command (default)
|
|
131
126
|
program
|
|
132
|
-
.command('
|
|
133
|
-
.description('
|
|
134
|
-
.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
// Main run command (default)
|
|
138
|
-
program
|
|
139
|
-
.command('run', { isDefault: true })
|
|
140
|
-
.description('Start Claude Code with remote control.\n Pass additional Claude Code args after options (e.g., anyware run --verbose)')
|
|
141
|
-
.argument('[claude-args...]', 'Additional Claude Code arguments (run "anyware claude-args" for list)')
|
|
142
|
-
.option('-p, --path <path>', 'Working directory', process.cwd())
|
|
143
|
-
.option('--resume <sessionId>', 'Resume a Claude session')
|
|
144
|
-
.option('--continue', 'Continue the last conversation')
|
|
145
|
-
.option('--remote', 'Start in remote mode')
|
|
146
|
-
.option('-m, --model <model>', 'Model to use via OpenRouter (e.g., anthropic/claude-sonnet-4, openai/gpt-4o)')
|
|
147
|
-
.allowUnknownOption()
|
|
148
|
-
.action(async (claudeArgsFromCommand, options) => {
|
|
127
|
+
.command('start', { isDefault: true })
|
|
128
|
+
.description('Start Anyware server (blocking).\n The server will listen for session requests from web UI or mobile app.')
|
|
129
|
+
.option('-p, --port <port>', 'Server port', '7234')
|
|
130
|
+
.option('--path <path>', 'Default working directory for sessions', process.cwd())
|
|
131
|
+
.action(async (options) => {
|
|
149
132
|
// Check login
|
|
150
133
|
if (!isLoggedIn()) {
|
|
151
134
|
console.log('Not logged in. Please run "anyware login" first.');
|
|
152
135
|
process.exit(1);
|
|
153
136
|
}
|
|
154
|
-
//
|
|
155
|
-
const passthroughArgs = claudeArgsFromCommand;
|
|
156
|
-
// Validate passthrough args if any
|
|
157
|
-
if (passthroughArgs.length > 0) {
|
|
158
|
-
const validation = validateClaudeArgs(passthroughArgs);
|
|
159
|
-
// Show warnings
|
|
160
|
-
if (validation.warnings.length > 0) {
|
|
161
|
-
console.log('\x1b[33m' + formatValidationErrors({ ...validation, errors: [] }) + '\x1b[0m\n');
|
|
162
|
-
}
|
|
163
|
-
// Exit on errors
|
|
164
|
-
if (!validation.valid) {
|
|
165
|
-
console.error('\x1b[31m' + formatValidationErrors(validation) + '\x1b[0m');
|
|
166
|
-
console.log('\nRun "anyware claude-args" to see valid Claude Code arguments.');
|
|
167
|
-
process.exit(1);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
// Check for updates before starting Claude
|
|
171
|
-
// This must happen before Claude takes over stdin/stdout
|
|
137
|
+
// Check for updates before starting server
|
|
172
138
|
await checkAndNotify();
|
|
173
139
|
// Increment session count and check for enjoyment prompt
|
|
174
140
|
const preConfig = loadConfig();
|
|
175
141
|
const newSessionCount = (preConfig.sessionCount || 0) + 1;
|
|
176
142
|
saveConfig({ sessionCount: newSessionCount });
|
|
177
143
|
// After 10 sessions, prompt user about setting up the claude alias (only once)
|
|
178
|
-
// This shows even if they said "no" on the first login prompt, giving them another chance
|
|
179
144
|
if (newSessionCount === 10 && !preConfig.enjoymentPromptShown) {
|
|
180
145
|
const prompted = await promptEnjoymentAndAlias();
|
|
181
146
|
if (prompted) {
|
|
@@ -183,79 +148,15 @@ program
|
|
|
183
148
|
}
|
|
184
149
|
}
|
|
185
150
|
const config = loadConfig();
|
|
186
|
-
// Determine model: flag takes precedence over ANYWARE_MODEL env var
|
|
187
|
-
const model = options.model || process.env.ANYWARE_MODEL;
|
|
188
151
|
// Set up LLM proxy environment variables
|
|
189
|
-
// Model is passed via --model flag to Claude Code, proxy just forwards the request
|
|
190
|
-
// ANTHROPIC_AUTH_TOKEN bypasses Claude Code's login flow entirely
|
|
191
152
|
process.env.ANTHROPIC_BASE_URL = config.llmUrl;
|
|
192
153
|
process.env.ANTHROPIC_AUTH_TOKEN = config.accessToken;
|
|
193
154
|
delete process.env.ANTHROPIC_API_KEY; // Clear to avoid conflicts
|
|
194
|
-
if (model) {
|
|
195
|
-
console.log(`Using model: ${model}`);
|
|
196
|
-
}
|
|
197
155
|
try {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// Create server session
|
|
202
|
-
const serverSessionId = await createSession(options.path);
|
|
203
|
-
// Create and start status bar
|
|
204
|
-
const statusBar = new StatusBar({ sessionId: serverSessionId });
|
|
205
|
-
// Build Claude args
|
|
206
|
-
const claudeArgs = [];
|
|
207
|
-
if (model) {
|
|
208
|
-
// Pass model directly to Claude Code
|
|
209
|
-
claudeArgs.push('--model', model);
|
|
210
|
-
}
|
|
211
|
-
if (options.resume) {
|
|
212
|
-
claudeArgs.push('--resume', options.resume);
|
|
213
|
-
}
|
|
214
|
-
if (options.continue) {
|
|
215
|
-
claudeArgs.push('--continue');
|
|
216
|
-
}
|
|
217
|
-
// Add validated passthrough args
|
|
218
|
-
if (passthroughArgs.length > 0) {
|
|
219
|
-
const validation = validateClaudeArgs(passthroughArgs);
|
|
220
|
-
claudeArgs.push(...validation.validArgs);
|
|
221
|
-
}
|
|
222
|
-
// Create session instance
|
|
223
|
-
const session = new Session({
|
|
224
|
-
serverSessionId,
|
|
225
|
-
userId: config.userId,
|
|
226
|
-
deviceId: config.deviceId,
|
|
227
|
-
path: options.path,
|
|
228
|
-
claudeArgs: claudeArgs.length > 0 ? claudeArgs : undefined,
|
|
229
|
-
});
|
|
230
|
-
// Connect to WebSocket
|
|
231
|
-
console.log('Connecting to server...');
|
|
232
|
-
await session.connect();
|
|
233
|
-
// Start status bar after connection
|
|
234
|
-
statusBar.start();
|
|
235
|
-
// Handle cleanup
|
|
236
|
-
const cleanup = async () => {
|
|
237
|
-
statusBar.stop();
|
|
238
|
-
console.log('\nShutting down...');
|
|
239
|
-
session.close();
|
|
240
|
-
await endSession(serverSessionId);
|
|
241
|
-
process.exit(0);
|
|
242
|
-
};
|
|
243
|
-
process.on('SIGINT', cleanup);
|
|
244
|
-
process.on('SIGTERM', cleanup);
|
|
245
|
-
// Run the mode loop
|
|
246
|
-
await loop({
|
|
247
|
-
session,
|
|
248
|
-
startingMode: options.remote ? 'remote' : 'local',
|
|
249
|
-
onModeChange: (mode) => statusBar.setMode(mode),
|
|
250
|
-
onIdle: () => {
|
|
251
|
-
// Redraw status bar when Claude finishes responding
|
|
252
|
-
statusBar.redraw();
|
|
253
|
-
},
|
|
156
|
+
await startServer({
|
|
157
|
+
port: parseInt(options.port),
|
|
158
|
+
cwd: options.path,
|
|
254
159
|
});
|
|
255
|
-
// Cleanup on normal exit
|
|
256
|
-
statusBar.stop();
|
|
257
|
-
session.close();
|
|
258
|
-
await endSession(serverSessionId);
|
|
259
160
|
}
|
|
260
161
|
catch (error) {
|
|
261
162
|
console.error('Error:', error instanceof Error ? error.message : error);
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/server/display.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoBlF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import qrcode from 'qrcode-terminal';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
export function displayServerInfo(opts) {
|
|
4
|
+
console.clear();
|
|
5
|
+
console.log(chalk.bold.green('\nš Anyware Server Running\n'));
|
|
6
|
+
console.log(chalk.gray('ā'.repeat(60)));
|
|
7
|
+
console.log();
|
|
8
|
+
console.log(chalk.bold('Local Server:'), chalk.cyan(`http://localhost:${opts.port}`));
|
|
9
|
+
console.log(chalk.bold('Web UI:'), chalk.cyan(opts.sessionUrl));
|
|
10
|
+
console.log();
|
|
11
|
+
console.log(chalk.bold('Mobile Access:'));
|
|
12
|
+
console.log(chalk.gray('Scan QR code below to open on your phone\n'));
|
|
13
|
+
// Generate QR code for mobile URL
|
|
14
|
+
qrcode.generate(opts.sessionUrl, { small: true }, (qr) => {
|
|
15
|
+
console.log(qr);
|
|
16
|
+
});
|
|
17
|
+
console.log();
|
|
18
|
+
console.log(chalk.gray('ā'.repeat(60)));
|
|
19
|
+
console.log(chalk.yellow('\nPress Ctrl+C to stop the server\n'));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/server/display.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,iBAAiB,CAAC,IAA0C;IAC1E,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;IAEtE,kCAAkC;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+FtF"}
|