@diggerhq/anyware 0.7.22 → 0.7.24
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.map +1 -1
- package/dist/api/wsClient.js +130 -88
- package/dist/api/wsClient.js.map +1 -1
- package/dist/claude/claudeRemoteLauncher.d.ts.map +1 -1
- package/dist/claude/claudeRemoteLauncher.js +11 -7
- package/dist/claude/claudeRemoteLauncher.js.map +1 -1
- package/dist/claude/session.d.ts +2 -2
- package/dist/claude/session.d.ts.map +1 -1
- package/dist/claude/session.js +32 -7
- package/dist/claude/session.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +9 -1
- package/dist/config/config.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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,CA8K7G"}
|
package/dist/api/wsClient.js
CHANGED
|
@@ -12,106 +12,148 @@ export function createWSClient(sessionId, userId, deviceId) {
|
|
|
12
12
|
// Include deviceId in URL for device-level presence tracking
|
|
13
13
|
const deviceParam = deviceId ? `&deviceId=${deviceId}` : '';
|
|
14
14
|
const url = `${wsUrl}/ws/session/${sessionId}?type=cli&userId=${userId}${deviceParam}&token=${config.accessToken}`;
|
|
15
|
-
|
|
15
|
+
let ws;
|
|
16
16
|
let messageHandler = null;
|
|
17
17
|
let closeHandler = null;
|
|
18
18
|
let pingInterval = null;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
let reconnectAttempts = 0;
|
|
20
|
+
const maxReconnects = 50; // Allow many reconnects for long sessions
|
|
21
|
+
let isIntentionallyClosed = false;
|
|
22
|
+
let clientResolved = false;
|
|
23
|
+
function connect() {
|
|
24
|
+
ws = new WebSocket(url);
|
|
25
|
+
ws.on('open', () => {
|
|
26
|
+
if (reconnectAttempts > 0) {
|
|
27
|
+
console.log('[ws] Reconnected to session');
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
else {
|
|
30
|
+
console.log('[ws] Connected to session');
|
|
31
|
+
}
|
|
32
|
+
reconnectAttempts = 0;
|
|
33
|
+
// Start ping interval to keep connection alive
|
|
34
|
+
if (pingInterval)
|
|
35
|
+
clearInterval(pingInterval);
|
|
36
|
+
pingInterval = setInterval(() => {
|
|
34
37
|
if (ws.readyState === WebSocket.OPEN) {
|
|
35
|
-
ws.send(JSON.stringify({
|
|
36
|
-
type: 'claude_event',
|
|
37
|
-
payload: {
|
|
38
|
-
sessionId: sid,
|
|
39
|
-
event,
|
|
40
|
-
timestamp: Date.now(),
|
|
41
|
-
},
|
|
42
|
-
}));
|
|
38
|
+
ws.send(JSON.stringify({ type: 'ping' }));
|
|
43
39
|
}
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
}, 30000);
|
|
41
|
+
// Only resolve on first connection
|
|
42
|
+
if (!clientResolved) {
|
|
43
|
+
clientResolved = true;
|
|
44
|
+
resolve(client);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
ws.on('message', (data) => {
|
|
48
|
+
try {
|
|
49
|
+
const message = JSON.parse(data.toString());
|
|
50
|
+
// Handle pong silently
|
|
51
|
+
if (message.type === 'pong') {
|
|
52
|
+
return;
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
ws.send(JSON.stringify({
|
|
59
|
-
type: 'mode_change',
|
|
60
|
-
payload: {
|
|
61
|
-
mode,
|
|
62
|
-
timestamp: Date.now(),
|
|
63
|
-
},
|
|
64
|
-
}));
|
|
54
|
+
// Forward to handler
|
|
55
|
+
if (messageHandler && (message.type === 'user_input' || message.type === 'permission_response' || message.type === 'switch')) {
|
|
56
|
+
messageHandler(message);
|
|
65
57
|
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (
|
|
79
|
-
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
console.error('[ws] Failed to parse message:', e);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
ws.on('close', () => {
|
|
64
|
+
if (pingInterval) {
|
|
65
|
+
clearInterval(pingInterval);
|
|
66
|
+
pingInterval = null;
|
|
67
|
+
}
|
|
68
|
+
if (isIntentionallyClosed) {
|
|
69
|
+
console.log('[ws] Disconnected from session');
|
|
70
|
+
if (closeHandler) {
|
|
71
|
+
closeHandler();
|
|
80
72
|
}
|
|
81
|
-
ws.close();
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
resolve(client);
|
|
85
|
-
});
|
|
86
|
-
ws.on('message', (data) => {
|
|
87
|
-
try {
|
|
88
|
-
const message = JSON.parse(data.toString());
|
|
89
|
-
// Handle pong silently
|
|
90
|
-
if (message.type === 'pong') {
|
|
91
73
|
return;
|
|
92
74
|
}
|
|
93
|
-
//
|
|
94
|
-
if (
|
|
95
|
-
|
|
75
|
+
// Auto-reconnect
|
|
76
|
+
if (reconnectAttempts < maxReconnects) {
|
|
77
|
+
reconnectAttempts++;
|
|
78
|
+
const delay = Math.min(1000 * reconnectAttempts, 10000); // Cap at 10 seconds
|
|
79
|
+
console.log(`[ws] Connection lost, reconnecting in ${delay / 1000}s (attempt ${reconnectAttempts}/${maxReconnects})`);
|
|
80
|
+
setTimeout(connect, delay);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
console.log('[ws] Max reconnect attempts reached, giving up');
|
|
84
|
+
if (closeHandler) {
|
|
85
|
+
closeHandler();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
ws.on('error', (error) => {
|
|
90
|
+
console.error('[ws] WebSocket error:', error.message);
|
|
91
|
+
if (!clientResolved) {
|
|
92
|
+
reject(error);
|
|
93
|
+
}
|
|
94
|
+
// Don't reject on reconnect errors - let the close handler trigger reconnect
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const client = {
|
|
98
|
+
send: (message) => {
|
|
99
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
100
|
+
ws.send(JSON.stringify(message));
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
sendClaudeEvent: (event, sid) => {
|
|
104
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
105
|
+
ws.send(JSON.stringify({
|
|
106
|
+
type: 'claude_event',
|
|
107
|
+
payload: {
|
|
108
|
+
sessionId: sid,
|
|
109
|
+
event,
|
|
110
|
+
timestamp: Date.now(),
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
sendThinking: (thinking) => {
|
|
116
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
117
|
+
ws.send(JSON.stringify({
|
|
118
|
+
type: 'thinking',
|
|
119
|
+
payload: {
|
|
120
|
+
thinking,
|
|
121
|
+
timestamp: Date.now(),
|
|
122
|
+
},
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
sendModeChange: (mode) => {
|
|
127
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
128
|
+
ws.send(JSON.stringify({
|
|
129
|
+
type: 'mode_change',
|
|
130
|
+
payload: {
|
|
131
|
+
mode,
|
|
132
|
+
timestamp: Date.now(),
|
|
133
|
+
},
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
// No-op: Device presence is now tracked via WebSocket connect/disconnect
|
|
138
|
+
// and activity updates happen automatically on claude_event
|
|
139
|
+
sendPresence: () => { },
|
|
140
|
+
markActivity: () => { },
|
|
141
|
+
onMessage: (handler) => {
|
|
142
|
+
messageHandler = handler;
|
|
143
|
+
},
|
|
144
|
+
onClose: (handler) => {
|
|
145
|
+
closeHandler = handler;
|
|
146
|
+
},
|
|
147
|
+
close: () => {
|
|
148
|
+
isIntentionallyClosed = true;
|
|
149
|
+
if (pingInterval) {
|
|
150
|
+
clearInterval(pingInterval);
|
|
96
151
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
ws.on('close', () => {
|
|
103
|
-
console.log('[ws] Disconnected from session');
|
|
104
|
-
if (pingInterval) {
|
|
105
|
-
clearInterval(pingInterval);
|
|
106
|
-
}
|
|
107
|
-
if (closeHandler) {
|
|
108
|
-
closeHandler();
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
ws.on('error', (error) => {
|
|
112
|
-
console.error('[ws] WebSocket error:', error.message);
|
|
113
|
-
reject(error);
|
|
114
|
-
});
|
|
152
|
+
ws.close();
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
// Start initial connection
|
|
156
|
+
connect();
|
|
115
157
|
});
|
|
116
158
|
}
|
|
117
159
|
//# 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":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyDjD,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,MAAc,EAAE,QAAiB;IACjF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtF,6DAA6D;QAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,GAAG,KAAK,eAAe,SAAS,oBAAoB,MAAM,GAAG,WAAW,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC;QAEnH,
|
|
1
|
+
{"version":3,"file":"wsClient.js","sourceRoot":"","sources":["../../src/api/wsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeRemoteLauncher.d.ts","sourceRoot":"","sources":["../../src/claude/claudeRemoteLauncher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"claudeRemoteLauncher.d.ts","sourceRoot":"","sources":["../../src/claude/claudeRemoteLauncher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2LjG"}
|
|
@@ -52,12 +52,10 @@ export async function claudeRemoteLauncher(opts) {
|
|
|
52
52
|
session.queue.reset(); // Unblock waitForMessage
|
|
53
53
|
processAbortController.abort();
|
|
54
54
|
});
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
session.queue.push('proceed');
|
|
60
|
-
}
|
|
55
|
+
// NOTE: We don't auto-queue "proceed" anymore.
|
|
56
|
+
// The pending permission response is consumed in waitForPermission() when needed.
|
|
57
|
+
// Auto-queuing "proceed" was causing issues with AskUserQuestion where the selection
|
|
58
|
+
// is sent as user input and "proceed" would race/override it.
|
|
61
59
|
// Run remote mode
|
|
62
60
|
console.log('');
|
|
63
61
|
console.log('\x1b[36m\x1b[1mRemote Mode Active\x1b[0m');
|
|
@@ -129,7 +127,13 @@ export async function claudeRemoteLauncher(opts) {
|
|
|
129
127
|
}
|
|
130
128
|
// Clear any stale pending permission response before requesting new permission
|
|
131
129
|
// This prevents old responses from auto-approving new requests
|
|
132
|
-
|
|
130
|
+
// IMPORTANT: Don't clear fresh responses (race with local->remote switch).
|
|
131
|
+
session.clearPendingPermissionResponse(30_000);
|
|
132
|
+
// Extra safety: AskUserQuestion should never be auto-answered by a stale queued message
|
|
133
|
+
// (e.g. an old "proceed" sitting in the queue from a previous UI bug).
|
|
134
|
+
if (toolName === 'AskUserQuestion') {
|
|
135
|
+
session.queue.reset();
|
|
136
|
+
}
|
|
133
137
|
// Send permission request event to web UI
|
|
134
138
|
const permissionEvent = {
|
|
135
139
|
type: 'PermissionRequest',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeRemoteLauncher.js","sourceRoot":"","sources":["../../src/claude/claudeRemoteLauncher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAS1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA2B;IACpE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,UAAU,GAA4B,IAAI,CAAC;IAC/C,MAAM,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC;IAErD,2DAA2D;IAC3D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,GAAiB,EAAE,EAAE;QACzD,2CAA2C;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;YAChD,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,4BAA4B;QAC5B,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;YAChD,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE9C,mDAAmD;IACnD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,uEAAuE;QACvE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;YAChD,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH
|
|
1
|
+
{"version":3,"file":"claudeRemoteLauncher.js","sourceRoot":"","sources":["../../src/claude/claudeRemoteLauncher.ts"],"names":[],"mappings":"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"}
|
package/dist/claude/session.d.ts
CHANGED
|
@@ -79,12 +79,12 @@ export declare class Session {
|
|
|
79
79
|
/**
|
|
80
80
|
* Consume the pending permission response (used when switching to remote mode)
|
|
81
81
|
*/
|
|
82
|
-
consumePendingPermissionResponse(): PermissionResponse | null;
|
|
82
|
+
consumePendingPermissionResponse(maxAgeMs?: number): PermissionResponse | null;
|
|
83
83
|
/**
|
|
84
84
|
* Clear any pending permission response (called when new permission request comes in)
|
|
85
85
|
* This prevents stale responses from auto-approving new requests
|
|
86
86
|
*/
|
|
87
|
-
clearPendingPermissionResponse(): void;
|
|
87
|
+
clearPendingPermissionResponse(maxAgeMs?: number): void;
|
|
88
88
|
/**
|
|
89
89
|
* Check if a tool has been "always allowed" for this session
|
|
90
90
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
|
package/dist/claude/session.js
CHANGED
|
@@ -46,6 +46,9 @@ export class Session {
|
|
|
46
46
|
handleMessage(message) {
|
|
47
47
|
switch (message.type) {
|
|
48
48
|
case 'user_input':
|
|
49
|
+
if (typeof message.payload?.prompt === 'string' && message.payload.prompt.trim().toLowerCase() === 'proceed') {
|
|
50
|
+
console.warn('[ws] Received user_input "proceed" from web; pushing to queue');
|
|
51
|
+
}
|
|
49
52
|
this.queue.push(message.payload.prompt, message.payload.images);
|
|
50
53
|
// Mark activity since user is interacting
|
|
51
54
|
this.markActivity();
|
|
@@ -63,7 +66,10 @@ export class Session {
|
|
|
63
66
|
}
|
|
64
67
|
else {
|
|
65
68
|
// In local mode: store the response and trigger switch to remote
|
|
66
|
-
this.pendingPermissionResponse =
|
|
69
|
+
this.pendingPermissionResponse = {
|
|
70
|
+
response: message.payload.response,
|
|
71
|
+
receivedAt: Date.now(),
|
|
72
|
+
};
|
|
67
73
|
if (this.permissionResponseTriggerSwitch) {
|
|
68
74
|
this.permissionResponseTriggerSwitch();
|
|
69
75
|
}
|
|
@@ -164,18 +170,29 @@ export class Session {
|
|
|
164
170
|
/**
|
|
165
171
|
* Consume the pending permission response (used when switching to remote mode)
|
|
166
172
|
*/
|
|
167
|
-
consumePendingPermissionResponse() {
|
|
168
|
-
const
|
|
173
|
+
consumePendingPermissionResponse(maxAgeMs = 30_000) {
|
|
174
|
+
const pending = this.pendingPermissionResponse;
|
|
175
|
+
if (!pending)
|
|
176
|
+
return null;
|
|
177
|
+
const ageMs = Date.now() - pending.receivedAt;
|
|
178
|
+
if (ageMs > maxAgeMs) {
|
|
179
|
+
console.log(`\x1b[33m⚠️ Clearing stale pending permission response: ${pending.response} (age ${Math.round(ageMs / 1000)}s)\x1b[0m`);
|
|
180
|
+
this.pendingPermissionResponse = null;
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
169
183
|
this.pendingPermissionResponse = null;
|
|
170
|
-
return response;
|
|
184
|
+
return pending.response;
|
|
171
185
|
}
|
|
172
186
|
/**
|
|
173
187
|
* Clear any pending permission response (called when new permission request comes in)
|
|
174
188
|
* This prevents stale responses from auto-approving new requests
|
|
175
189
|
*/
|
|
176
|
-
clearPendingPermissionResponse() {
|
|
177
|
-
if (this.pendingPermissionResponse)
|
|
178
|
-
|
|
190
|
+
clearPendingPermissionResponse(maxAgeMs = 30_000) {
|
|
191
|
+
if (!this.pendingPermissionResponse)
|
|
192
|
+
return;
|
|
193
|
+
const ageMs = Date.now() - this.pendingPermissionResponse.receivedAt;
|
|
194
|
+
if (ageMs > maxAgeMs) {
|
|
195
|
+
console.log(`\x1b[33m⚠️ Clearing stale pending permission response: ${this.pendingPermissionResponse.response} (age ${Math.round(ageMs / 1000)}s)\x1b[0m`);
|
|
179
196
|
this.pendingPermissionResponse = null;
|
|
180
197
|
}
|
|
181
198
|
}
|
|
@@ -183,12 +200,20 @@ export class Session {
|
|
|
183
200
|
* Check if a tool has been "always allowed" for this session
|
|
184
201
|
*/
|
|
185
202
|
isToolAlwaysAllowed(toolName) {
|
|
203
|
+
// AskUserQuestion must never be auto-approved; it requires explicit user interaction.
|
|
204
|
+
if (toolName === 'AskUserQuestion')
|
|
205
|
+
return false;
|
|
186
206
|
return this.alwaysAllowedTools.has(toolName);
|
|
187
207
|
}
|
|
188
208
|
/**
|
|
189
209
|
* Mark a tool as "always allowed" for this session
|
|
190
210
|
*/
|
|
191
211
|
markToolAlwaysAllowed(toolName) {
|
|
212
|
+
// Never persist "always allow" for AskUserQuestion.
|
|
213
|
+
if (toolName === 'AskUserQuestion') {
|
|
214
|
+
console.log(`\x1b[33m⚠️ Ignoring "always allow" for AskUserQuestion\x1b[0m`);
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
192
217
|
this.alwaysAllowedTools.add(toolName);
|
|
193
218
|
console.log(`\x1b[32m✓ Tool "${toolName}" marked as always allowed for this session\x1b[0m`);
|
|
194
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAA8C,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AA2BD,wBAAgB,UAAU,IAAI,MAAM,CAiBnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAQxD;AAED,wBAAgB,WAAW,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AA2BD,wBAAgB,UAAU,IAAI,MAAM,CAiBnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAQxD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAYlC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAW/C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D"}
|
package/dist/config/config.js
CHANGED
|
@@ -47,7 +47,15 @@ export function saveConfig(config) {
|
|
|
47
47
|
}
|
|
48
48
|
export function clearConfig() {
|
|
49
49
|
if (existsSync(CONFIG_FILE)) {
|
|
50
|
-
|
|
50
|
+
// Preserve device-specific settings when logging out
|
|
51
|
+
const existing = loadConfig();
|
|
52
|
+
const preservedConfig = {
|
|
53
|
+
...DEFAULT_CONFIG,
|
|
54
|
+
aliasPromptShown: existing.aliasPromptShown,
|
|
55
|
+
enjoymentPromptShown: existing.enjoymentPromptShown,
|
|
56
|
+
sessionCount: existing.sessionCount,
|
|
57
|
+
};
|
|
58
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(preservedConfig, null, 2));
|
|
51
59
|
}
|
|
52
60
|
}
|
|
53
61
|
export function isLoggedIn() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAoBlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD,MAAM,cAAc,GAAW;IAC7B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;CACxB,CAAC;AAEF,6DAA6D;AAC7D,SAAS,SAAS,CAAC,WAAoB;IACrC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,eAAe,CAAC;AACpE,CAAC;AAED,6DAA6D;AAC7D,SAAS,SAAS,CAAC,WAAoB;IACrC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,eAAe,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,UAAU,GAAoB,EAAE,CAAC;IAErC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QACpC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|