@commit451/salamander 1.0.3 → 1.0.5
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/README.md +55 -50
- package/bin/salamander.js +1 -1
- package/dist/commands/create-runner.js.map +1 -1
- package/dist/commands/delete-runner.js +2 -2
- package/dist/commands/delete-runner.js.map +1 -1
- package/dist/commands/runner-selection.js +1 -1
- package/dist/commands/runner-selection.js.map +1 -1
- package/dist/config/firebase.js +1 -1
- package/dist/config/firebase.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/auth.d.ts +6 -22
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/auth.js +199 -262
- package/dist/services/auth.js.map +1 -1
- package/dist/services/command-listener.d.ts +1 -1
- package/dist/services/command-listener.d.ts.map +1 -1
- package/dist/services/command-listener.js +19 -4
- package/dist/services/command-listener.js.map +1 -1
- package/dist/services/executor.d.ts.map +1 -1
- package/dist/services/executor.js +1 -13
- package/dist/services/executor.js.map +1 -1
- package/dist/services/runner.d.ts +3 -4
- package/dist/services/runner.d.ts.map +1 -1
- package/dist/services/runner.js +21 -41
- package/dist/services/runner.js.map +1 -1
- package/dist/types/runner.d.ts +1 -1
- package/dist/types/runner.d.ts.map +1 -1
- package/dist/utils/device.d.ts +0 -1
- package/dist/utils/device.d.ts.map +1 -1
- package/dist/utils/device.js +0 -4
- package/dist/utils/device.js.map +1 -1
- package/dist/utils/storage.js.map +1 -1
- package/package.json +54 -60
package/dist/services/auth.js
CHANGED
|
@@ -4,237 +4,17 @@ import { createServer } from 'http';
|
|
|
4
4
|
import { URL } from 'url';
|
|
5
5
|
import { exec } from 'child_process';
|
|
6
6
|
import { promisify } from 'util';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { saveAuth, loadAuth, clearAuth } from '../utils/storage.js';
|
|
10
|
-
import { signInWithCredential, GoogleAuthProvider, getAuth, onAuthStateChanged } from 'firebase/auth';
|
|
7
|
+
import { clearAuth, loadAuth, saveAuth } from '../utils/storage.js';
|
|
8
|
+
import { getAuth, GoogleAuthProvider, onAuthStateChanged, signInWithCredential } from 'firebase/auth';
|
|
11
9
|
import app from '../config/firebase.js';
|
|
12
10
|
const execAsync = promisify(exec);
|
|
13
11
|
const auth = getAuth(app);
|
|
14
12
|
export class AuthService {
|
|
15
13
|
static currentUser = null;
|
|
16
14
|
static customUserInfo = null;
|
|
17
|
-
static tokens = null;
|
|
18
|
-
static oauth2Client = null;
|
|
19
15
|
static authStateInitialized = false;
|
|
20
|
-
static
|
|
21
|
-
|
|
22
|
-
redirectUri: 'http://localhost:8080/oauth/callback',
|
|
23
|
-
scope: 'openid email profile'
|
|
24
|
-
};
|
|
25
|
-
static getOAuth2Client() {
|
|
26
|
-
if (!this.oauth2Client) {
|
|
27
|
-
this.oauth2Client = new OAuth2Client({
|
|
28
|
-
clientId: this.config.clientId,
|
|
29
|
-
redirectUri: this.config.redirectUri
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return this.oauth2Client;
|
|
33
|
-
}
|
|
34
|
-
static generateCodeVerifier() {
|
|
35
|
-
return randomBytes(32).toString('base64url');
|
|
36
|
-
}
|
|
37
|
-
static generateCodeChallenge(verifier) {
|
|
38
|
-
return createHash('sha256').update(verifier).digest('base64url');
|
|
39
|
-
}
|
|
40
|
-
static async initialize() {
|
|
41
|
-
if (this.authStateInitialized)
|
|
42
|
-
return;
|
|
43
|
-
// First, try to restore from stored auth
|
|
44
|
-
const storedAuth = await loadAuth();
|
|
45
|
-
if (storedAuth?.accessToken) {
|
|
46
|
-
try {
|
|
47
|
-
// Try to validate the stored access token
|
|
48
|
-
this.customUserInfo = await this.fetchUserInfo(storedAuth.accessToken);
|
|
49
|
-
this.tokens = {
|
|
50
|
-
access_token: storedAuth.accessToken,
|
|
51
|
-
refresh_token: storedAuth.refreshToken,
|
|
52
|
-
expires_in: 3600,
|
|
53
|
-
token_type: 'Bearer'
|
|
54
|
-
};
|
|
55
|
-
// Sign in to Firebase using the stored token
|
|
56
|
-
if (this.tokens.access_token) {
|
|
57
|
-
try {
|
|
58
|
-
const credential = GoogleAuthProvider.credential(null, this.tokens.access_token);
|
|
59
|
-
const userCredential = await signInWithCredential(auth, credential);
|
|
60
|
-
this.currentUser = userCredential.user;
|
|
61
|
-
console.log(chalk.green('✅ Session restored from stored credentials'));
|
|
62
|
-
}
|
|
63
|
-
catch (firebaseError) {
|
|
64
|
-
// Firebase sign-in failed, but we have valid Google tokens
|
|
65
|
-
console.log(chalk.yellow('⚠️ Firebase auth failed but Google tokens are valid'));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
// Access token is invalid, try to refresh if we have a refresh token
|
|
71
|
-
if (storedAuth.refreshToken) {
|
|
72
|
-
try {
|
|
73
|
-
console.log(chalk.yellow('🔄 Access token expired, refreshing...'));
|
|
74
|
-
this.tokens = await this.refreshAccessToken(storedAuth.refreshToken);
|
|
75
|
-
this.customUserInfo = await this.fetchUserInfo(this.tokens.access_token);
|
|
76
|
-
// Save the new tokens
|
|
77
|
-
await saveAuth({
|
|
78
|
-
userId: storedAuth.userId,
|
|
79
|
-
email: storedAuth.email,
|
|
80
|
-
accessToken: this.tokens.access_token,
|
|
81
|
-
refreshToken: this.tokens.refresh_token
|
|
82
|
-
});
|
|
83
|
-
// Sign in to Firebase with refreshed token
|
|
84
|
-
try {
|
|
85
|
-
const credential = GoogleAuthProvider.credential(null, this.tokens.access_token);
|
|
86
|
-
const userCredential = await signInWithCredential(auth, credential);
|
|
87
|
-
this.currentUser = userCredential.user;
|
|
88
|
-
}
|
|
89
|
-
catch (firebaseError) {
|
|
90
|
-
console.log(chalk.yellow('⚠️ Firebase auth failed but Google tokens refreshed'));
|
|
91
|
-
}
|
|
92
|
-
console.log(chalk.green('✅ Tokens refreshed and session restored'));
|
|
93
|
-
}
|
|
94
|
-
catch (refreshError) {
|
|
95
|
-
// Refresh failed, clear stored auth
|
|
96
|
-
console.log(chalk.yellow('⚠️ Token refresh failed, will need to re-authenticate'));
|
|
97
|
-
await clearAuth();
|
|
98
|
-
this.customUserInfo = null;
|
|
99
|
-
this.tokens = null;
|
|
100
|
-
this.currentUser = null;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
// No refresh token, clear stored auth
|
|
105
|
-
console.log(chalk.yellow('⚠️ No valid tokens found, will need to authenticate'));
|
|
106
|
-
await clearAuth();
|
|
107
|
-
this.customUserInfo = null;
|
|
108
|
-
this.tokens = null;
|
|
109
|
-
this.currentUser = null;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Set up Firebase Auth state observer for any future changes
|
|
114
|
-
onAuthStateChanged(auth, async (user) => {
|
|
115
|
-
if (!user && this.currentUser) {
|
|
116
|
-
// User signed out, clean up
|
|
117
|
-
this.currentUser = null;
|
|
118
|
-
this.customUserInfo = null;
|
|
119
|
-
this.tokens = null;
|
|
120
|
-
await clearAuth();
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
this.authStateInitialized = true;
|
|
124
|
-
}
|
|
125
|
-
static get isAuthenticated() {
|
|
126
|
-
return this.currentUser !== null;
|
|
127
|
-
}
|
|
128
|
-
static get user() {
|
|
129
|
-
return this.currentUser;
|
|
130
|
-
}
|
|
131
|
-
static get userInfo() {
|
|
132
|
-
return this.customUserInfo;
|
|
133
|
-
}
|
|
134
|
-
static get userId() {
|
|
135
|
-
return this.currentUser?.uid || null;
|
|
136
|
-
}
|
|
137
|
-
static get accessToken() {
|
|
138
|
-
return this.tokens?.access_token || null;
|
|
139
|
-
}
|
|
140
|
-
static async waitForAuthInit() {
|
|
141
|
-
if (!this.authStateInitialized) {
|
|
142
|
-
await this.initialize();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
static async ensureValidToken() {
|
|
146
|
-
if (!this.tokens?.access_token) {
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
// Try to use current token
|
|
150
|
-
try {
|
|
151
|
-
await this.fetchUserInfo(this.tokens.access_token);
|
|
152
|
-
return this.tokens.access_token;
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
// Token is invalid, try to refresh
|
|
156
|
-
if (this.tokens.refresh_token) {
|
|
157
|
-
try {
|
|
158
|
-
const storedAuth = await loadAuth();
|
|
159
|
-
this.tokens = await this.refreshAccessToken(this.tokens.refresh_token);
|
|
160
|
-
this.customUserInfo = await this.fetchUserInfo(this.tokens.access_token);
|
|
161
|
-
// Save the new tokens
|
|
162
|
-
await saveAuth({
|
|
163
|
-
userId: storedAuth?.userId || this.customUserInfo.id,
|
|
164
|
-
email: storedAuth?.email || this.customUserInfo.email,
|
|
165
|
-
accessToken: this.tokens.access_token,
|
|
166
|
-
refreshToken: this.tokens.refresh_token
|
|
167
|
-
});
|
|
168
|
-
return this.tokens.access_token;
|
|
169
|
-
}
|
|
170
|
-
catch (refreshError) {
|
|
171
|
-
// Refresh failed
|
|
172
|
-
this.tokens = null;
|
|
173
|
-
this.customUserInfo = null;
|
|
174
|
-
await clearAuth();
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
static async fetchUserInfo(accessToken) {
|
|
182
|
-
const response = await fetch('https://www.googleapis.com/oauth2/v2/userinfo', {
|
|
183
|
-
headers: {
|
|
184
|
-
'Authorization': `Bearer ${accessToken}`,
|
|
185
|
-
},
|
|
186
|
-
});
|
|
187
|
-
if (!response.ok) {
|
|
188
|
-
throw new Error(`Failed to fetch user info: ${response.statusText}`);
|
|
189
|
-
}
|
|
190
|
-
return await response.json();
|
|
191
|
-
}
|
|
192
|
-
static async exchangeCodeForTokens(code, codeVerifier) {
|
|
193
|
-
const params = new URLSearchParams({
|
|
194
|
-
client_id: this.config.clientId,
|
|
195
|
-
code,
|
|
196
|
-
code_verifier: codeVerifier,
|
|
197
|
-
grant_type: 'authorization_code',
|
|
198
|
-
redirect_uri: this.config.redirectUri,
|
|
199
|
-
});
|
|
200
|
-
console.log(chalk.dim('Debug - Token exchange params:'));
|
|
201
|
-
console.log(chalk.dim(` client_id: ${this.config.clientId}`));
|
|
202
|
-
console.log(chalk.dim(` grant_type: authorization_code`));
|
|
203
|
-
console.log(chalk.dim(` redirect_uri: ${this.config.redirectUri}`));
|
|
204
|
-
console.log(chalk.dim(` code_verifier: ${codeVerifier.substring(0, 10)}...`));
|
|
205
|
-
console.log(chalk.dim(` code: ${code.substring(0, 10)}...`));
|
|
206
|
-
const response = await fetch('https://oauth2.googleapis.com/token', {
|
|
207
|
-
method: 'POST',
|
|
208
|
-
headers: {
|
|
209
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
210
|
-
},
|
|
211
|
-
body: params.toString(),
|
|
212
|
-
});
|
|
213
|
-
if (!response.ok) {
|
|
214
|
-
const error = await response.text();
|
|
215
|
-
console.log(chalk.red(`Debug - Full error response: ${error}`));
|
|
216
|
-
throw new Error(`Token exchange failed: ${error}`);
|
|
217
|
-
}
|
|
218
|
-
return await response.json();
|
|
219
|
-
}
|
|
220
|
-
static async refreshAccessToken(refreshToken) {
|
|
221
|
-
const client = this.getOAuth2Client();
|
|
222
|
-
client.setCredentials({
|
|
223
|
-
refresh_token: refreshToken
|
|
224
|
-
});
|
|
225
|
-
try {
|
|
226
|
-
const { credentials } = await client.refreshAccessToken();
|
|
227
|
-
return {
|
|
228
|
-
access_token: credentials.access_token,
|
|
229
|
-
refresh_token: credentials.refresh_token ?? refreshToken,
|
|
230
|
-
expires_in: credentials.expiry_date ? Math.floor((credentials.expiry_date - Date.now()) / 1000) : 3600,
|
|
231
|
-
token_type: 'Bearer'
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
throw new Error(`Token refresh failed: ${error.message}`);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
16
|
+
static authStateReady = null;
|
|
17
|
+
static CLIENT_ID = '87955960620-mu7hdiu5nntb4al1ekk79dn73bu5otvu.apps.googleusercontent.com';
|
|
238
18
|
static async openBrowser(url) {
|
|
239
19
|
const platform = process.platform;
|
|
240
20
|
let command;
|
|
@@ -278,7 +58,35 @@ export class AuthService {
|
|
|
278
58
|
}
|
|
279
59
|
if (code) {
|
|
280
60
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
281
|
-
res.end(
|
|
61
|
+
res.end(`
|
|
62
|
+
<!DOCTYPE html>
|
|
63
|
+
<html>
|
|
64
|
+
<head>
|
|
65
|
+
<title>Authentication Successful</title>
|
|
66
|
+
<style>
|
|
67
|
+
body {
|
|
68
|
+
background-color: #000000;
|
|
69
|
+
color: #ffffff;
|
|
70
|
+
font-family: Arial, sans-serif;
|
|
71
|
+
text-align: center;
|
|
72
|
+
padding: 50px;
|
|
73
|
+
margin: 0;
|
|
74
|
+
}
|
|
75
|
+
h1 {
|
|
76
|
+
font-size: 2.5em;
|
|
77
|
+
margin-bottom: 20px;
|
|
78
|
+
}
|
|
79
|
+
p {
|
|
80
|
+
font-size: 1.2em;
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
83
|
+
</head>
|
|
84
|
+
<body>
|
|
85
|
+
<h1>Authentication Successful!</h1>
|
|
86
|
+
<p>You can close this window and return to the CLI.</p>
|
|
87
|
+
</body>
|
|
88
|
+
</html>
|
|
89
|
+
`);
|
|
282
90
|
authCodeResolve(code);
|
|
283
91
|
}
|
|
284
92
|
else {
|
|
@@ -297,26 +105,162 @@ export class AuthService {
|
|
|
297
105
|
});
|
|
298
106
|
});
|
|
299
107
|
}
|
|
108
|
+
static async exchangeCodeForTokens(code) {
|
|
109
|
+
const params = new URLSearchParams({
|
|
110
|
+
client_id: this.CLIENT_ID,
|
|
111
|
+
code,
|
|
112
|
+
grant_type: 'authorization_code',
|
|
113
|
+
redirect_uri: 'http://localhost:8080/oauth/callback',
|
|
114
|
+
});
|
|
115
|
+
const response = await fetch('https://oauth2.googleapis.com/token', {
|
|
116
|
+
method: 'POST',
|
|
117
|
+
headers: {
|
|
118
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
119
|
+
},
|
|
120
|
+
body: params.toString(),
|
|
121
|
+
});
|
|
122
|
+
if (!response.ok) {
|
|
123
|
+
const error = await response.text();
|
|
124
|
+
throw new Error(`Token exchange failed: ${error}`);
|
|
125
|
+
}
|
|
126
|
+
return await response.json();
|
|
127
|
+
}
|
|
128
|
+
static async refreshToken(refreshToken) {
|
|
129
|
+
const params = new URLSearchParams({
|
|
130
|
+
grant_type: 'refresh_token',
|
|
131
|
+
refresh_token: refreshToken,
|
|
132
|
+
client_id: this.CLIENT_ID,
|
|
133
|
+
});
|
|
134
|
+
const response = await fetch('https://oauth2.googleapis.com/token', {
|
|
135
|
+
method: 'POST',
|
|
136
|
+
headers: {
|
|
137
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
138
|
+
},
|
|
139
|
+
body: params.toString(),
|
|
140
|
+
});
|
|
141
|
+
if (!response.ok) {
|
|
142
|
+
const errorText = await response.text();
|
|
143
|
+
throw new Error(`Token refresh failed: ${response.status} ${errorText}`);
|
|
144
|
+
}
|
|
145
|
+
const tokens = await response.json();
|
|
146
|
+
// Sign in to Firebase with the new access token
|
|
147
|
+
const credential = GoogleAuthProvider.credential(null, tokens.access_token);
|
|
148
|
+
await signInWithCredential(auth, credential);
|
|
149
|
+
// Update stored tokens with new access token (refresh token may be the same)
|
|
150
|
+
const existingAuth = await loadAuth();
|
|
151
|
+
await saveAuth({
|
|
152
|
+
userId: existingAuth?.userId || '',
|
|
153
|
+
email: existingAuth?.email || '',
|
|
154
|
+
accessToken: tokens.access_token,
|
|
155
|
+
refreshToken: tokens.refresh_token || existingAuth?.refreshToken
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
static async initialize() {
|
|
159
|
+
if (this.authStateInitialized) {
|
|
160
|
+
// Wait for auth state to be ready if initialization is in progress
|
|
161
|
+
if (this.authStateReady) {
|
|
162
|
+
await this.authStateReady;
|
|
163
|
+
}
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// Create a promise that resolves when auth state is determined
|
|
167
|
+
let resolveAuthState;
|
|
168
|
+
this.authStateReady = new Promise((resolve) => {
|
|
169
|
+
resolveAuthState = resolve;
|
|
170
|
+
});
|
|
171
|
+
// Try to restore from stored auth
|
|
172
|
+
const storedAuth = await loadAuth();
|
|
173
|
+
let authAttemptMade = false;
|
|
174
|
+
if (storedAuth?.userId && storedAuth.email && storedAuth.accessToken) {
|
|
175
|
+
authAttemptMade = true;
|
|
176
|
+
try {
|
|
177
|
+
// Try to restore Firebase session using stored access token
|
|
178
|
+
const credential = GoogleAuthProvider.credential(null, storedAuth.accessToken);
|
|
179
|
+
await signInWithCredential(auth, credential);
|
|
180
|
+
console.log(chalk.green('✅ Session restored from storage'));
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
// Token might be expired, try refresh token if available
|
|
184
|
+
if (storedAuth.refreshToken) {
|
|
185
|
+
try {
|
|
186
|
+
await this.refreshToken(storedAuth.refreshToken);
|
|
187
|
+
console.log(chalk.green('✅ Session refreshed from storage'));
|
|
188
|
+
}
|
|
189
|
+
catch (refreshError) {
|
|
190
|
+
console.log(chalk.yellow('⚠️ Stored session expired, please sign in again'));
|
|
191
|
+
await clearAuth();
|
|
192
|
+
authAttemptMade = false;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
console.log(chalk.yellow('⚠️ Stored session expired, please sign in again'));
|
|
197
|
+
await clearAuth();
|
|
198
|
+
authAttemptMade = false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Set up Firebase Auth state observer
|
|
203
|
+
onAuthStateChanged(auth, async (user) => {
|
|
204
|
+
if (user) {
|
|
205
|
+
this.currentUser = user;
|
|
206
|
+
if (!this.customUserInfo) {
|
|
207
|
+
this.customUserInfo = {
|
|
208
|
+
id: user.uid,
|
|
209
|
+
email: user.email || '',
|
|
210
|
+
name: user.displayName || user.email?.split('@')[0] || ''
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
// Only update user info in storage, preserve OAuth tokens if they exist
|
|
214
|
+
const existingAuth = await loadAuth();
|
|
215
|
+
await saveAuth({
|
|
216
|
+
userId: user.uid,
|
|
217
|
+
email: user.email || '',
|
|
218
|
+
accessToken: existingAuth?.accessToken || undefined,
|
|
219
|
+
refreshToken: existingAuth?.refreshToken || undefined
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// User signed out, clean up
|
|
224
|
+
this.currentUser = null;
|
|
225
|
+
this.customUserInfo = null;
|
|
226
|
+
await clearAuth();
|
|
227
|
+
}
|
|
228
|
+
// Resolve the auth state promise once we know the state
|
|
229
|
+
if (resolveAuthState) {
|
|
230
|
+
resolveAuthState();
|
|
231
|
+
resolveAuthState = null;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
this.authStateInitialized = true;
|
|
235
|
+
// If no auth attempt was made, resolve immediately since no user will be set
|
|
236
|
+
if (!authAttemptMade) {
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
if (resolveAuthState) {
|
|
239
|
+
resolveAuthState();
|
|
240
|
+
}
|
|
241
|
+
}, 100);
|
|
242
|
+
}
|
|
243
|
+
// Wait for auth state to be determined
|
|
244
|
+
await this.authStateReady;
|
|
245
|
+
}
|
|
246
|
+
static get isAuthenticated() {
|
|
247
|
+
return this.currentUser !== null;
|
|
248
|
+
}
|
|
249
|
+
static get user() {
|
|
250
|
+
return this.currentUser;
|
|
251
|
+
}
|
|
252
|
+
static get userId() {
|
|
253
|
+
return this.currentUser?.uid || null;
|
|
254
|
+
}
|
|
300
255
|
static async loginFlow() {
|
|
301
256
|
console.log(chalk.blue('\n🔐 Authentication Required'));
|
|
302
257
|
console.log('Please sign in with Google to continue.\n');
|
|
303
258
|
try {
|
|
304
|
-
// Check if we need OAuth credentials
|
|
305
|
-
if (this.config.clientId === 'YOUR_CLIENT_ID') {
|
|
306
|
-
console.log(chalk.red('❌ OAuth credentials not configured.'));
|
|
307
|
-
console.log(chalk.yellow('Please set up Google OAuth 2.0 credentials:'));
|
|
308
|
-
console.log('1. Go to https://console.cloud.google.com/apis/credentials');
|
|
309
|
-
console.log('2. Create OAuth 2.0 Client IDs (select "Desktop application")');
|
|
310
|
-
console.log('3. Add http://localhost:8080/oauth/callback as redirect URI');
|
|
311
|
-
console.log('4. Set GOOGLE_CLIENT_ID environment variable');
|
|
312
|
-
console.log(chalk.dim('Note: No client secret needed - this uses PKCE for security'));
|
|
313
|
-
return false;
|
|
314
|
-
}
|
|
315
259
|
// Ensure auth state is initialized
|
|
316
260
|
await this.initialize();
|
|
317
261
|
// Check if user is already authenticated
|
|
318
262
|
if (this.isAuthenticated) {
|
|
319
|
-
console.log(chalk.green('✅
|
|
263
|
+
console.log(chalk.green('✅ Already signed in!'));
|
|
320
264
|
return true;
|
|
321
265
|
}
|
|
322
266
|
const proceed = await input({
|
|
@@ -330,43 +274,36 @@ export class AuthService {
|
|
|
330
274
|
// Start local server to receive callback
|
|
331
275
|
const { server, authCodePromise } = await this.startLocalServer();
|
|
332
276
|
try {
|
|
333
|
-
//
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
});
|
|
342
|
-
// Add PKCE parameters to the URL manually
|
|
343
|
-
const urlWithPKCE = new URL(authUrl);
|
|
344
|
-
urlWithPKCE.searchParams.set('code_challenge', codeChallenge);
|
|
345
|
-
urlWithPKCE.searchParams.set('code_challenge_method', 'S256');
|
|
277
|
+
// Create OAuth URL (simplified without PKCE)
|
|
278
|
+
const authUrl = new URL('https://accounts.google.com/o/oauth2/v2/auth');
|
|
279
|
+
authUrl.searchParams.set('client_id', this.CLIENT_ID);
|
|
280
|
+
authUrl.searchParams.set('redirect_uri', 'http://localhost:8080/oauth/callback');
|
|
281
|
+
authUrl.searchParams.set('response_type', 'code');
|
|
282
|
+
authUrl.searchParams.set('scope', 'openid email profile');
|
|
283
|
+
authUrl.searchParams.set('access_type', 'offline');
|
|
284
|
+
authUrl.searchParams.set('prompt', 'consent');
|
|
346
285
|
// Open browser
|
|
347
|
-
await this.openBrowser(
|
|
286
|
+
await this.openBrowser(authUrl.toString());
|
|
348
287
|
console.log('Please complete the authentication in your browser...\n');
|
|
349
288
|
// Wait for callback
|
|
350
289
|
const authCode = await authCodePromise;
|
|
351
290
|
console.log(chalk.green('✅ Authorization code received!'));
|
|
352
291
|
// Exchange code for tokens
|
|
353
292
|
console.log('Exchanging authorization code for tokens...');
|
|
354
|
-
|
|
355
|
-
// Get user info
|
|
356
|
-
this.customUserInfo = await this.fetchUserInfo(this.tokens.access_token);
|
|
293
|
+
const tokens = await this.exchangeCodeForTokens(authCode);
|
|
357
294
|
// Sign in to Firebase Auth using the Google OAuth token
|
|
358
|
-
const credential = GoogleAuthProvider.credential(null,
|
|
295
|
+
const credential = GoogleAuthProvider.credential(null, tokens.access_token);
|
|
359
296
|
const userCredential = await signInWithCredential(auth, credential);
|
|
360
297
|
this.currentUser = userCredential.user;
|
|
361
|
-
|
|
362
|
-
console.log(chalk.green('✅ Login successful!'));
|
|
363
|
-
// Store auth info
|
|
298
|
+
// Store the OAuth tokens immediately after successful login
|
|
364
299
|
await saveAuth({
|
|
365
|
-
userId:
|
|
366
|
-
email:
|
|
367
|
-
accessToken:
|
|
368
|
-
refreshToken:
|
|
300
|
+
userId: userCredential.user.uid,
|
|
301
|
+
email: userCredential.user.email || '',
|
|
302
|
+
accessToken: tokens.access_token,
|
|
303
|
+
refreshToken: tokens.refresh_token
|
|
369
304
|
});
|
|
305
|
+
console.log(chalk.green(`✅ Welcome ${userCredential.user.displayName || userCredential.user.email}!`));
|
|
306
|
+
console.log(chalk.green('✅ Login successful!'));
|
|
370
307
|
return true;
|
|
371
308
|
}
|
|
372
309
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAClC,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAO,MAAM,eAAe,CAAC;AAC1G,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAsB1B,MAAM,OAAO,WAAW;IACZ,MAAM,CAAC,WAAW,GAAgB,IAAI,CAAC;IACvC,MAAM,CAAC,cAAc,GAAoB,IAAI,CAAC;IAC9C,MAAM,CAAC,MAAM,GAAuB,IAAI,CAAC;IACzC,MAAM,CAAC,YAAY,GAAwB,IAAI,CAAC;IAChD,MAAM,CAAC,oBAAoB,GAAY,KAAK,CAAC;IAE7C,MAAM,CAAU,MAAM,GAAsB;QAChD,QAAQ,EAAE,yEAAyE;QACnF,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,sBAAsB;KAChC,CAAC;IAEM,MAAM,CAAC,eAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;aACvC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,oBAAoB;QAC/B,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,QAAgB;QACjD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU;QACnB,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAEtC,yCAAyC;QACzC,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,CAAC;QACpC,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACD,0CAA0C;gBAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAI,CAAC,MAAM,GAAG;oBACV,YAAY,EAAE,UAAU,CAAC,WAAW;oBACpC,aAAa,EAAE,UAAU,CAAC,YAAY;oBACtC,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,QAAQ;iBACvB,CAAC;gBAEF,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACjF,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;wBACpE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;oBAC3E,CAAC;oBAAC,OAAO,aAAa,EAAE,CAAC;wBACrB,2DAA2D;wBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;oBACrF,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,qEAAqE;gBACrE,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;wBACpE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBACrE,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAEzE,sBAAsB;wBACtB,MAAM,QAAQ,CAAC;4BACX,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;4BACrC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;yBAC1C,CAAC,CAAC;wBAEH,2CAA2C;wBAC3C,IAAI,CAAC;4BACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4BACjF,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BACpE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;wBAC3C,CAAC;wBAAC,OAAO,aAAa,EAAE,CAAC;4BACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;wBACrF,CAAC;wBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;oBACxE,CAAC;oBAAC,OAAO,YAAY,EAAE,CAAC;wBACpB,oCAAoC;wBACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;wBACnF,MAAM,SAAS,EAAE,CAAC;wBAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC5B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;oBACjF,MAAM,SAAS,EAAE,CAAC;oBAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,4BAA4B;gBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM,SAAS,EAAE,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,eAAe;QACtB,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,IAAI;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,QAAQ;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,MAAM;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,WAAW;QAClB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,mCAAmC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACvE,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAEzE,sBAAsB;oBACtB,MAAM,QAAQ,CAAC;wBACX,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE;wBACpD,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK;wBACrD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;wBACrC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;qBAC1C,CAAC,CAAC;oBAEH,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBACpC,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACpB,iBAAiB;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,MAAM,SAAS,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAGO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB;QAClD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;YAC1E,OAAO,EAAE;gBACL,eAAe,EAAE,UAAU,WAAW,EAAE;aAC3C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,YAAoB;QACzE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,IAAI;YACJ,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACxC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qCAAqC,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,mCAAmC;aACtD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC;YAClB,aAAa,EAAE,YAAY;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAExD,OAAO;gBACH,YAAY,EAAE,WAAW,CAAC,YAAa;gBACvC,aAAa,EAAE,WAAW,CAAC,aAAa,IAAI,YAAY;gBACxD,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACtG,UAAU,EAAE,QAAQ;aACvB,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAW;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,OAAe,CAAC;QAEpB,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,QAAQ;gBACT,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC;gBAC1B,MAAM;YACV,KAAK,OAAO;gBACR,OAAO,GAAG,UAAU,GAAG,GAAG,CAAC;gBAC3B,MAAM;YACV;gBACI,OAAO,GAAG,aAAa,GAAG,GAAG,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2DAA2D,GAAG,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,IAAI,eAAuC,CAAC;YAC5C,IAAI,cAAsC,CAAC;YAE3C,MAAM,eAAe,GAAG,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACrD,eAAe,GAAG,GAAG,CAAC;gBACtB,cAAc,GAAG,GAAG,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC9B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAEtD,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAE5C,IAAI,KAAK,EAAE,CAAC;4BACR,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,CAAC,CAAC;4BAClD,GAAG,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;4BAC3E,cAAc,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;4BACnD,OAAO;wBACX,CAAC;wBAED,IAAI,IAAI,EAAE,CAAC;4BACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,CAAC,CAAC;4BAClD,GAAG,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;4BACtG,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC1B,CAAC;6BAAM,CAAC;4BACJ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,CAAC,CAAC;4BAClD,GAAG,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;4BAChF,cAAc,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBAChE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBAClC,OAAO,CAAC,EAAC,MAAM,EAAE,eAAe,EAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,IAAI,CAAC;YACD,qCAAqC;YACrC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBACzE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,mCAAmC;YACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,yCAAyC;YACzC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBACxB,OAAO,EAAE,0EAA0E;gBACnF,OAAO,EAAE,EAAE;aACd,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAE7E,yCAAyC;YACzC,MAAM,EAAC,MAAM,EAAE,eAAe,EAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEhE,IAAI,CAAC;gBACD,oCAAoC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAE/D,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;oBACnC,WAAW,EAAE,SAAS;oBACtB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;iBACtC,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;gBAC9D,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;gBAE9D,eAAe;gBACf,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBAEvE,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAE3D,2BAA2B;gBAC3B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAEvE,gBAAgB;gBAChB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEzE,wDAAwD;gBACxD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACjF,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACpE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;gBAEvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAEhD,kBAAkB;gBAClB,MAAM,QAAQ,CAAC;oBACX,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;oBAC9B,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;oBAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;oBACrC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;iBAC1C,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YAEhB,CAAC;oBAAS,CAAC;gBACP,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QAEL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAChB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,+DAA+D;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,6 @@ export declare class CommandListener {
|
|
|
3
3
|
private activeListeners;
|
|
4
4
|
private isShuttingDown;
|
|
5
5
|
startListening(runner: Runner): Promise<void>;
|
|
6
|
-
stopListening(runnerId: string): void
|
|
6
|
+
stopListening(runnerId: string): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=command-listener.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-listener.d.ts","sourceRoot":"","sources":["../../src/services/command-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAK1C,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAS;IAEzB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"command-listener.d.ts","sourceRoot":"","sources":["../../src/services/command-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAK1C,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAS;IAEzB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2F7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAcvD"}
|
|
@@ -15,9 +15,17 @@ export class CommandListener {
|
|
|
15
15
|
if (runner.machineId !== deviceId) {
|
|
16
16
|
throw new Error('Cannot listen to non-local runner');
|
|
17
17
|
}
|
|
18
|
+
// Set runner as online
|
|
19
|
+
await RunnerService.setRunnerOnline(runner.id);
|
|
18
20
|
console.log(chalk.blue(`👂 Started listening for commands on runner "${runner.name}"`));
|
|
19
21
|
console.log(chalk.gray(` Directory: ${runner.directory}`));
|
|
20
22
|
console.log(chalk.gray(` Type: ${runner.runnerType}`));
|
|
23
|
+
console.log('');
|
|
24
|
+
console.log(chalk.yellow('⚠️ SECURITY WARNING'));
|
|
25
|
+
console.log(chalk.yellow(' Claude commands will be executed with --dangerously-skip-permissions'));
|
|
26
|
+
console.log(chalk.yellow(' This bypasses normal permission checks for file access and operations'));
|
|
27
|
+
console.log(chalk.yellow(' Be careful about what directories you run this in and what commands you execute'));
|
|
28
|
+
console.log('');
|
|
21
29
|
console.log(chalk.gray(` Press Ctrl+C to stop`));
|
|
22
30
|
console.log(chalk.gray(` Keep in mind, if your machine goes to sleep, it won't process commands`));
|
|
23
31
|
const unsubscribe = RunnerService.listenToRunner(runner.id, async (updatedRunner) => {
|
|
@@ -64,20 +72,27 @@ export class CommandListener {
|
|
|
64
72
|
});
|
|
65
73
|
this.activeListeners.set(runner.id, unsubscribe);
|
|
66
74
|
// Set up graceful shutdown
|
|
67
|
-
const cleanup = () => {
|
|
75
|
+
const cleanup = async () => {
|
|
68
76
|
this.isShuttingDown = true;
|
|
69
|
-
this.stopListening(runner.id);
|
|
70
|
-
console.log(chalk.blue(`👋 Stopped
|
|
77
|
+
await this.stopListening(runner.id);
|
|
78
|
+
console.log(chalk.blue(`👋 Stopped runner "${runner.name}"`));
|
|
71
79
|
process.exit(0);
|
|
72
80
|
};
|
|
73
81
|
process.on('SIGINT', cleanup);
|
|
74
82
|
process.on('SIGTERM', cleanup);
|
|
75
83
|
}
|
|
76
|
-
stopListening(runnerId) {
|
|
84
|
+
async stopListening(runnerId) {
|
|
77
85
|
const unsubscribe = this.activeListeners.get(runnerId);
|
|
78
86
|
if (unsubscribe) {
|
|
79
87
|
unsubscribe();
|
|
80
88
|
this.activeListeners.delete(runnerId);
|
|
89
|
+
// Set runner as offline
|
|
90
|
+
try {
|
|
91
|
+
await RunnerService.setRunnerOffline(runnerId);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error(chalk.red('Failed to set runner offline'));
|
|
95
|
+
}
|
|
81
96
|
}
|
|
82
97
|
}
|
|
83
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-listener.js","sourceRoot":"","sources":["../../src/services/command-listener.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"command-listener.js","sourceRoot":"","sources":["../../src/services/command-listener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,eAAe;IAChB,eAAe,GAA4B,IAAI,GAAG,EAAE,CAAC;IACrD,cAAc,GAAG,KAAK,CAAC;IAE/B,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1E,OAAO;QACX,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,uBAAuB;QACvB,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yEAAyE,CAAC,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0EAA0E,CAAC,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oFAAoF,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAErG,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAChF,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO;YAElD,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBAEhF,IAAI,CAAC;oBACD,wCAAwC;oBACxC,MAAM,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAEnD,sBAAsB;oBACtB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;oBAEjG,0CAA0C;oBAC1C,MAAM,aAAa,CAAC,aAAa,CAAC;wBAC9B,OAAO,EAAE,MAAM,CAAC,MAAM;wBACtB,UAAU,EAAE,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,MAAM,CAAC,EAAE;qBACtB,CAAC,CAAC;oBAEH,oCAAoC;oBACpC,MAAM,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAEvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAEzE,MAAM,YAAY,GAAG,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC;oBAEjE,IAAI,CAAC;wBACD,yCAAyC;wBACzC,MAAM,aAAa,CAAC,aAAa,CAAC;4BAC9B,OAAO,EAAE,YAAY;4BACrB,UAAU,EAAE,EAAE;4BACd,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,MAAM,CAAC,EAAE;yBACtB,CAAC,CAAC;wBAEH,MAAM,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;oBAC1E,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;oBAC1E,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEtC,wBAAwB;YACxB,IAAI,CAAC;gBACD,MAAM,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/services/executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,MAAM,EAAa,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;WACX,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiCpF,OAAO,CAAC,MAAM,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/services/executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,MAAM,EAAa,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;WACX,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiCpF,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsBnC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B,OAAO,CAAC,MAAM,CAAC,WAAW;CAY7B"}
|