nterminal 1.2.95 → 1.2.97
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/client/assets/MarkdownPreview-Dno_X_u4.js +1 -0
- package/dist/client/assets/{TranscriptMarkdownBody-so2KFrss.js → TranscriptMarkdownBody-Df5nPSHY.js} +1 -1
- package/dist/client/assets/index-8B1UWPiL.js +56 -0
- package/dist/client/assets/{index-BAdRfzJ0.js → index-BCvmxPto.js} +1 -1
- package/dist/client/assets/{index-CJaLLCcv.css → index-Cca8_nsS.css} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/accounts/accountService.d.ts +17 -1
- package/dist/server/accounts/accountService.js +181 -36
- package/dist/server/accounts/accountService.js.map +1 -1
- package/dist/server/agent/agentRoutes.js +6 -0
- package/dist/server/agent/agentRoutes.js.map +1 -1
- package/dist/server/routes/accountRoutes.js +10 -0
- package/dist/server/routes/accountRoutes.js.map +1 -1
- package/dist/server/routes/agentManagementRoutes.js +1 -1
- package/dist/server/routes/agentManagementRoutes.js.map +1 -1
- package/dist/shared/protocol.d.ts +9 -0
- package/dist/shared/protocol.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/MarkdownPreview-DRtb7fYb.js +0 -1
- package/dist/client/assets/index-By9EAw7R.js +0 -56
package/dist/client/index.html
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
<link rel="icon" type="image/png" sizes="64x64" href="/icons/favicon-64.png" />
|
|
13
13
|
<link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon-96.png" />
|
|
14
14
|
<title>NTerminal</title>
|
|
15
|
-
<script type="module" crossorigin src="/assets/index-
|
|
16
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
15
|
+
<script type="module" crossorigin src="/assets/index-8B1UWPiL.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Cca8_nsS.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="root"></div>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { AppConfig } from '../config.js';
|
|
2
2
|
import type { TerminalManager } from '../terminal/TerminalManager.js';
|
|
3
3
|
import type { TerminalSummary } from '../../shared/types.js';
|
|
4
|
-
import type { AccountProvider, AccountStatusResponse } from '../../shared/protocol.js';
|
|
4
|
+
import type { AccountProvider, AccountStatusResponse, AccountRunningProcess } from '../../shared/protocol.js';
|
|
5
|
+
type ProcessEntry = AccountRunningProcess & {
|
|
6
|
+
ppid: number;
|
|
7
|
+
args: string;
|
|
8
|
+
};
|
|
5
9
|
export declare class AccountServiceError extends Error {
|
|
6
10
|
readonly code: string;
|
|
7
11
|
constructor(code: string, message?: string);
|
|
@@ -18,11 +22,17 @@ export declare class AccountService {
|
|
|
18
22
|
private operationInFlight;
|
|
19
23
|
private disposed;
|
|
20
24
|
private readonly retryAfter;
|
|
25
|
+
private readonly terminationAcknowledgements;
|
|
26
|
+
private processSnapshotInFlight;
|
|
21
27
|
private readonly processProbe;
|
|
28
|
+
private readonly processLister;
|
|
29
|
+
private readonly processTerminator;
|
|
22
30
|
constructor(config: AppConfig, terminalManager: TerminalManager, options?: {
|
|
23
31
|
homeDir?: string;
|
|
24
32
|
now?: () => Date;
|
|
25
33
|
processProbe?: (provider: AccountProvider) => Promise<boolean>;
|
|
34
|
+
processLister?: (provider: AccountProvider) => Promise<ProcessEntry[]>;
|
|
35
|
+
processTerminator?: (provider: AccountProvider, processes: ProcessEntry[]) => Promise<void>;
|
|
26
36
|
});
|
|
27
37
|
private mutate;
|
|
28
38
|
synchronize(): Promise<void>;
|
|
@@ -35,6 +45,7 @@ export declare class AccountService {
|
|
|
35
45
|
completeLogin(provider: AccountProvider, label: string): Promise<AccountStatusResponse>;
|
|
36
46
|
cancelLogin(provider: AccountProvider): Promise<AccountStatusResponse>;
|
|
37
47
|
refresh(provider: AccountProvider, profileId?: string): Promise<AccountStatusResponse>;
|
|
48
|
+
terminateProviderSessions(provider: AccountProvider): Promise<AccountStatusResponse>;
|
|
38
49
|
status(): Promise<AccountStatusResponse>;
|
|
39
50
|
private selectUnlocked;
|
|
40
51
|
private removeUnlocked;
|
|
@@ -48,6 +59,10 @@ export declare class AccountService {
|
|
|
48
59
|
private providerStatus;
|
|
49
60
|
private runningPanes;
|
|
50
61
|
private assertNoRunningPanes;
|
|
62
|
+
private terminateProviderSessionsUnlocked;
|
|
63
|
+
private hasTerminationAcknowledgement;
|
|
64
|
+
private clearTerminationAcknowledgement;
|
|
65
|
+
private listProcessSnapshot;
|
|
51
66
|
private captureActiveCredentials;
|
|
52
67
|
private captureActiveCredential;
|
|
53
68
|
private removeUnavailableProfile;
|
|
@@ -68,3 +83,4 @@ export declare class AccountService {
|
|
|
68
83
|
private readClaudeSettings;
|
|
69
84
|
private removeCredentialFile;
|
|
70
85
|
}
|
|
86
|
+
export {};
|
|
@@ -9,6 +9,8 @@ const VAULT_INDEX = 'index.json';
|
|
|
9
9
|
const VAULT_KEY = 'key';
|
|
10
10
|
const REFRESH_WINDOW_MS = 15 * 60_000;
|
|
11
11
|
const REFRESH_INTERVAL_MS = 60_000;
|
|
12
|
+
const PROVIDER_TERMINATE_GRACE_MS = 2_000;
|
|
13
|
+
const TERMINATION_ACKNOWLEDGEMENT_TTL_MS = 5 * 60_000;
|
|
12
14
|
const CODEX_TOKEN_URL = 'https://auth.openai.com/oauth/token';
|
|
13
15
|
const CODEX_CLIENT_ID = 'app_EMoamEEZ73f0CkXaXp7hr';
|
|
14
16
|
const CLAUDE_TOKEN_URL = 'https://platform.claude.com/v1/oauth/token';
|
|
@@ -39,7 +41,13 @@ export class AccountService {
|
|
|
39
41
|
operationInFlight = false;
|
|
40
42
|
disposed = false;
|
|
41
43
|
retryAfter = new Map();
|
|
44
|
+
// In-memory acknowledgement set by an explicit user request to stop a provider.
|
|
45
|
+
// It permits one imminent account change even when a process takes time to exit.
|
|
46
|
+
terminationAcknowledgements = new Map();
|
|
47
|
+
processSnapshotInFlight = null;
|
|
42
48
|
processProbe;
|
|
49
|
+
processLister;
|
|
50
|
+
processTerminator;
|
|
43
51
|
constructor(config, terminalManager, options = {}) {
|
|
44
52
|
this.config = config;
|
|
45
53
|
this.terminalManager = terminalManager;
|
|
@@ -49,7 +57,9 @@ export class AccountService {
|
|
|
49
57
|
// vault instead of touching production account metadata.
|
|
50
58
|
this.vaultPath = path.join(path.dirname(config.statePath), VAULT_DIRECTORY);
|
|
51
59
|
this.now = options.now ?? (() => new Date());
|
|
52
|
-
this.
|
|
60
|
+
this.processLister = options.processLister ?? (async (provider) => providerProcesses(provider, await this.listProcessSnapshot()));
|
|
61
|
+
this.processProbe = options.processProbe ?? (async (provider) => (await this.processLister(provider)).length > 0);
|
|
62
|
+
this.processTerminator = options.processTerminator ?? terminateProviderProcesses;
|
|
53
63
|
}
|
|
54
64
|
// Reject overlapping mutations instead of accumulating requests behind OAuth I/O.
|
|
55
65
|
async mutate(operation) {
|
|
@@ -89,28 +99,44 @@ export class AccountService {
|
|
|
89
99
|
refresh(provider, profileId) {
|
|
90
100
|
return this.mutate(() => this.refreshUnlocked(provider, profileId));
|
|
91
101
|
}
|
|
102
|
+
terminateProviderSessions(provider) {
|
|
103
|
+
return this.mutate(() => this.terminateProviderSessionsUnlocked(provider));
|
|
104
|
+
}
|
|
92
105
|
async status() {
|
|
93
106
|
const refreshed = await this.readIndex();
|
|
94
107
|
const running = this.runningPanes();
|
|
108
|
+
const processes = new Map();
|
|
109
|
+
let processCheckUnavailable = false;
|
|
110
|
+
await Promise.all(['codex', 'claude'].map(async (provider) => {
|
|
111
|
+
try {
|
|
112
|
+
processes.set(provider, (await this.processLister(provider)).map(({ pid, command }) => ({ pid, provider, command })));
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
processCheckUnavailable = true;
|
|
116
|
+
processes.set(provider, []);
|
|
117
|
+
}
|
|
118
|
+
}));
|
|
95
119
|
const pendingReady = new Map();
|
|
96
120
|
await Promise.all(['codex', 'claude'].map(async (provider) => {
|
|
97
121
|
pendingReady.set(provider, Boolean(refreshed.pending[provider] && await this.readCredentialFile(provider)));
|
|
98
122
|
}));
|
|
99
123
|
return {
|
|
100
|
-
providers: ['codex', 'claude'].map((provider) => this.providerStatus(refreshed, provider, running, pendingReady.get(provider) === true))
|
|
124
|
+
providers: ['codex', 'claude'].map((provider) => this.providerStatus(refreshed, provider, running, processes.get(provider) ?? [], processCheckUnavailable, pendingReady.get(provider) === true))
|
|
101
125
|
};
|
|
102
126
|
}
|
|
103
127
|
async selectUnlocked(provider, profileId) {
|
|
104
128
|
const index = await this.readIndex();
|
|
105
|
-
await this.assertNoRunningPanes(provider);
|
|
129
|
+
await this.assertNoRunningPanes(provider, { allowTerminationAcknowledgement: true });
|
|
106
130
|
if (index.pending[provider])
|
|
107
131
|
throw new AccountServiceError('account_login_already_pending');
|
|
108
132
|
await this.captureActiveCredentials(index);
|
|
109
133
|
const profile = index.profiles.find((candidate) => candidate.id === profileId && candidate.provider === provider);
|
|
110
134
|
if (!profile)
|
|
111
135
|
throw new AccountServiceError('account_not_found');
|
|
112
|
-
if (index.active[provider] === profile.id)
|
|
136
|
+
if (index.active[provider] === profile.id) {
|
|
137
|
+
this.clearTerminationAcknowledgement(provider);
|
|
113
138
|
return this.status();
|
|
139
|
+
}
|
|
114
140
|
const credentials = await this.readVaultCredentials(profile.id);
|
|
115
141
|
const current = await this.archiveActiveCredential(index, provider);
|
|
116
142
|
const previousId = index.active[provider];
|
|
@@ -129,6 +155,7 @@ export class AccountService {
|
|
|
129
155
|
throw error;
|
|
130
156
|
}
|
|
131
157
|
await rm(this.profilePath(profile.id), { force: true });
|
|
158
|
+
this.clearTerminationAcknowledgement(provider);
|
|
132
159
|
return this.status();
|
|
133
160
|
}
|
|
134
161
|
async removeUnlocked(provider, profileId) {
|
|
@@ -150,7 +177,7 @@ export class AccountService {
|
|
|
150
177
|
}
|
|
151
178
|
async beginLoginUnlocked(provider) {
|
|
152
179
|
const index = await this.readIndex();
|
|
153
|
-
await this.assertNoRunningPanes(provider);
|
|
180
|
+
await this.assertNoRunningPanes(provider, { allowTerminationAcknowledgement: true });
|
|
154
181
|
if (index.pending[provider])
|
|
155
182
|
throw new AccountServiceError('account_login_already_pending');
|
|
156
183
|
await this.captureActiveCredentials(index);
|
|
@@ -158,7 +185,8 @@ export class AccountService {
|
|
|
158
185
|
index.pending[provider] = {
|
|
159
186
|
provider,
|
|
160
187
|
previousProfileId: index.active[provider] ?? null,
|
|
161
|
-
startedAt: this.now().toISOString()
|
|
188
|
+
startedAt: this.now().toISOString(),
|
|
189
|
+
terminalId: null
|
|
162
190
|
};
|
|
163
191
|
delete index.active[provider];
|
|
164
192
|
await this.writeIndex(index);
|
|
@@ -167,10 +195,13 @@ export class AccountService {
|
|
|
167
195
|
if (current)
|
|
168
196
|
await this.removeCredentialFile(provider);
|
|
169
197
|
terminal = await this.terminalManager.createTerminal({ cwd: this.config.workspaceRoot, cols: 100, rows: 30 });
|
|
170
|
-
const command = provider === 'codex' ? 'codex login' : 'claude auth login';
|
|
198
|
+
const command = provider === 'codex' ? 'codex login --device-auth' : 'claude auth login';
|
|
171
199
|
const wrote = await this.terminalManager.writeToTerminal(terminal.id, `${command}\r`);
|
|
172
200
|
if (!wrote)
|
|
173
201
|
throw new AccountServiceError('account_login_terminal_unavailable');
|
|
202
|
+
index.pending[provider].terminalId = terminal.id;
|
|
203
|
+
await this.writeIndex(index);
|
|
204
|
+
this.clearTerminationAcknowledgement(provider);
|
|
174
205
|
return { terminal, command };
|
|
175
206
|
}
|
|
176
207
|
catch (error) {
|
|
@@ -194,7 +225,7 @@ export class AccountService {
|
|
|
194
225
|
const pending = index.pending[provider];
|
|
195
226
|
if (!pending)
|
|
196
227
|
throw new AccountServiceError('account_login_not_pending');
|
|
197
|
-
await this.assertNoRunningPanes(provider);
|
|
228
|
+
await this.assertNoRunningPanes(provider, { allowTerminationAcknowledgement: true });
|
|
198
229
|
const credentials = await this.readCredentialFile(provider);
|
|
199
230
|
if (!credentials)
|
|
200
231
|
throw new AccountServiceError('account_login_not_complete');
|
|
@@ -203,6 +234,7 @@ export class AccountService {
|
|
|
203
234
|
delete index.pending[provider];
|
|
204
235
|
await this.writeIndex(index);
|
|
205
236
|
await rm(this.profilePath(profile.id), { force: true });
|
|
237
|
+
this.clearTerminationAcknowledgement(provider);
|
|
206
238
|
return this.status();
|
|
207
239
|
}
|
|
208
240
|
async cancelLoginUnlocked(provider) {
|
|
@@ -210,7 +242,7 @@ export class AccountService {
|
|
|
210
242
|
const pending = index.pending[provider];
|
|
211
243
|
if (!pending)
|
|
212
244
|
return this.status();
|
|
213
|
-
await this.assertNoRunningPanes(provider);
|
|
245
|
+
await this.assertNoRunningPanes(provider, { allowTerminationAcknowledgement: true });
|
|
214
246
|
if (pending.previousProfileId) {
|
|
215
247
|
const credentials = await this.readVaultCredentials(pending.previousProfileId);
|
|
216
248
|
await this.writeCredentialFile(provider, credentials);
|
|
@@ -224,6 +256,7 @@ export class AccountService {
|
|
|
224
256
|
const restoredId = index.active[provider];
|
|
225
257
|
if (restoredId)
|
|
226
258
|
await rm(this.profilePath(restoredId), { force: true });
|
|
259
|
+
this.clearTerminationAcknowledgement(provider);
|
|
227
260
|
return this.status();
|
|
228
261
|
}
|
|
229
262
|
async refreshUnlocked(provider, profileId) {
|
|
@@ -297,7 +330,7 @@ export class AccountService {
|
|
|
297
330
|
this.refreshInFlight = false;
|
|
298
331
|
}
|
|
299
332
|
}
|
|
300
|
-
providerStatus(index, provider, running, pendingReady) {
|
|
333
|
+
providerStatus(index, provider, running, runningProcesses, processCheckUnavailable, pendingReady) {
|
|
301
334
|
const activeId = index.active[provider] ?? null;
|
|
302
335
|
const profile = activeId ? index.profiles.find((candidate) => candidate.id === activeId) ?? null : null;
|
|
303
336
|
const pending = index.pending[provider];
|
|
@@ -306,7 +339,10 @@ export class AccountService {
|
|
|
306
339
|
activeProfileId: activeId,
|
|
307
340
|
profiles: index.profiles.filter((candidate) => candidate.provider === provider).map(toPublicProfile),
|
|
308
341
|
runningPanes: running.filter((pane) => pane.provider === provider),
|
|
309
|
-
|
|
342
|
+
runningProcesses,
|
|
343
|
+
processCheckUnavailable,
|
|
344
|
+
terminationAcknowledged: this.hasTerminationAcknowledgement(provider),
|
|
345
|
+
pendingLogin: pending ? { startedAt: pending.startedAt, ready: pendingReady, terminalId: pending.terminalId ?? null } : null,
|
|
310
346
|
credentialPresent: Boolean(profile || pending || false)
|
|
311
347
|
};
|
|
312
348
|
}
|
|
@@ -318,11 +354,47 @@ export class AccountService {
|
|
|
318
354
|
return provider ? [{ terminalId: terminal.id, provider, title: terminal.title, cwd: terminal.cwd }] : [];
|
|
319
355
|
});
|
|
320
356
|
}
|
|
321
|
-
async assertNoRunningPanes(provider) {
|
|
357
|
+
async assertNoRunningPanes(provider, options = {}) {
|
|
358
|
+
if (options.allowTerminationAcknowledgement && this.hasTerminationAcknowledgement(provider))
|
|
359
|
+
return;
|
|
322
360
|
if (this.runningPanes().some((pane) => pane.provider === provider) || await this.processProbe(provider)) {
|
|
323
361
|
throw new AccountServiceError('provider_panes_running');
|
|
324
362
|
}
|
|
325
363
|
}
|
|
364
|
+
async terminateProviderSessionsUnlocked(provider) {
|
|
365
|
+
const processes = await this.processLister(provider);
|
|
366
|
+
await this.processTerminator(provider, processes);
|
|
367
|
+
this.terminationAcknowledgements.set(provider, this.now().getTime() + TERMINATION_ACKNOWLEDGEMENT_TTL_MS);
|
|
368
|
+
return this.status();
|
|
369
|
+
}
|
|
370
|
+
hasTerminationAcknowledgement(provider) {
|
|
371
|
+
const expiresAt = this.terminationAcknowledgements.get(provider);
|
|
372
|
+
if (!expiresAt)
|
|
373
|
+
return false;
|
|
374
|
+
if (expiresAt > this.now().getTime())
|
|
375
|
+
return true;
|
|
376
|
+
this.terminationAcknowledgements.delete(provider);
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
clearTerminationAcknowledgement(provider) {
|
|
380
|
+
this.terminationAcknowledgements.delete(provider);
|
|
381
|
+
}
|
|
382
|
+
async listProcessSnapshot() {
|
|
383
|
+
if (!this.processSnapshotInFlight) {
|
|
384
|
+
const pending = listUserProcesses().catch(() => {
|
|
385
|
+
throw new AccountServiceError('account_process_check_unavailable');
|
|
386
|
+
});
|
|
387
|
+
this.processSnapshotInFlight = pending;
|
|
388
|
+
void pending.then(() => {
|
|
389
|
+
if (this.processSnapshotInFlight === pending)
|
|
390
|
+
this.processSnapshotInFlight = null;
|
|
391
|
+
}, () => {
|
|
392
|
+
if (this.processSnapshotInFlight === pending)
|
|
393
|
+
this.processSnapshotInFlight = null;
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
return this.processSnapshotInFlight;
|
|
397
|
+
}
|
|
326
398
|
async captureActiveCredentials(index) {
|
|
327
399
|
const before = JSON.stringify(index);
|
|
328
400
|
for (const provider of ['codex', 'claude']) {
|
|
@@ -404,8 +476,7 @@ export class AccountService {
|
|
|
404
476
|
index.profiles.push(profile);
|
|
405
477
|
return profile;
|
|
406
478
|
}
|
|
407
|
-
async updateProfile(profile, provider, credentials) {
|
|
408
|
-
const timing = credentialTiming(provider, credentials);
|
|
479
|
+
async updateProfile(profile, provider, credentials, timing = credentialTiming(provider, credentials)) {
|
|
409
480
|
profile.updatedAt = this.now().toISOString();
|
|
410
481
|
profile.expiresAt = timing.expiresAt;
|
|
411
482
|
profile.refreshTokenExpiresAt = timing.refreshTokenExpiresAt;
|
|
@@ -449,7 +520,10 @@ export class AccountService {
|
|
|
449
520
|
}
|
|
450
521
|
if (!refreshed || typeof refreshed !== 'object')
|
|
451
522
|
throw new AccountServiceError('account_refresh_failed');
|
|
452
|
-
const
|
|
523
|
+
const refreshedAt = this.now();
|
|
524
|
+
const refreshResponse = refreshed;
|
|
525
|
+
const next = applyRefresh(profile.provider, credentials, refreshResponse, refreshedAt);
|
|
526
|
+
const timing = refreshTiming(profile.provider, next, refreshResponse, refreshedAt, profile);
|
|
453
527
|
if (active) {
|
|
454
528
|
const live = await this.readCredentialFile(profile.provider);
|
|
455
529
|
if (!live || hashCredential(live) !== hashCredential(credentials)) {
|
|
@@ -459,7 +533,7 @@ export class AccountService {
|
|
|
459
533
|
if (live && stableIdentity(profile.provider, credentials) && stableIdentity(profile.provider, live)
|
|
460
534
|
&& stableIdentity(profile.provider, credentials) !== stableIdentity(profile.provider, live)) {
|
|
461
535
|
await this.writeVaultCredentials(profile.id, next);
|
|
462
|
-
await this.updateProfile(profile, profile.provider, next);
|
|
536
|
+
await this.updateProfile(profile, profile.provider, next, timing);
|
|
463
537
|
await this.captureActiveCredentials(index);
|
|
464
538
|
}
|
|
465
539
|
throw new AccountServiceError('account_credential_changed');
|
|
@@ -471,7 +545,7 @@ export class AccountService {
|
|
|
471
545
|
else {
|
|
472
546
|
await this.writeVaultCredentials(profile.id, next);
|
|
473
547
|
}
|
|
474
|
-
await this.updateProfile(profile, profile.provider, next);
|
|
548
|
+
await this.updateProfile(profile, profile.provider, next, timing);
|
|
475
549
|
}
|
|
476
550
|
async readIndex() {
|
|
477
551
|
try {
|
|
@@ -631,29 +705,90 @@ function providerForTerminal(command, transcriptProvider) {
|
|
|
631
705
|
return null;
|
|
632
706
|
}
|
|
633
707
|
const execFileAsync = promisify(execFile);
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
if (
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
708
|
+
function providerProcesses(provider, entries) {
|
|
709
|
+
return entries.flatMap((entry) => {
|
|
710
|
+
if (entry.pid === process.pid || !matchesProviderProcess(provider, entry.command, entry.args))
|
|
711
|
+
return [];
|
|
712
|
+
return [{ ...entry, provider, command: displayProcessCommand(entry.command) }];
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
async function listUserProcesses() {
|
|
716
|
+
const getuid = process.getuid;
|
|
717
|
+
if (!getuid)
|
|
718
|
+
throw new Error('unsupported');
|
|
719
|
+
const { stdout } = await execFileAsync('ps', ['-u', String(getuid()), '-o', 'pid=,ppid=,comm=,args='], {
|
|
720
|
+
timeout: 3_000, maxBuffer: 4 * 1024 * 1024, encoding: 'utf8'
|
|
721
|
+
});
|
|
722
|
+
return stdout.split('\n').flatMap((line) => {
|
|
723
|
+
const match = line.match(/^\s*(\d+)\s+(\d+)\s+(\S+)\s*(.*)$/);
|
|
724
|
+
if (!match)
|
|
725
|
+
return [];
|
|
726
|
+
const [, pidText, ppidText, command, args] = match;
|
|
727
|
+
const pid = Number.parseInt(pidText, 10);
|
|
728
|
+
const ppid = Number.parseInt(ppidText, 10);
|
|
729
|
+
return Number.isSafeInteger(pid) && Number.isSafeInteger(ppid) ? [{ pid, ppid, command: command, args: args }] : [];
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
function matchesProviderProcess(provider, command, args) {
|
|
733
|
+
if (providerForTerminal(command, undefined) === provider)
|
|
734
|
+
return true;
|
|
735
|
+
const [executable, ...rest] = args.trim().split(/\s+/);
|
|
736
|
+
if (providerForTerminal(executable, undefined) === provider)
|
|
737
|
+
return true;
|
|
738
|
+
// For Node wrappers inspect only the package script path, never later prompt text.
|
|
739
|
+
if (command === 'node' || command === 'nodejs') {
|
|
740
|
+
const script = rest.find((arg) => !arg.startsWith('-'));
|
|
741
|
+
if (!script)
|
|
650
742
|
return false;
|
|
651
|
-
|
|
743
|
+
return provider === 'codex'
|
|
744
|
+
? script.includes('node_modules/@openai/codex/')
|
|
745
|
+
: script.includes('node_modules/@anthropic-ai/claude-code/');
|
|
652
746
|
}
|
|
653
|
-
|
|
654
|
-
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
749
|
+
function displayProcessCommand(command) {
|
|
750
|
+
const basename = path.basename(command);
|
|
751
|
+
return basename.length <= 80 ? basename : basename.slice(0, 80);
|
|
752
|
+
}
|
|
753
|
+
async function terminateProviderProcesses(provider, _processes) {
|
|
754
|
+
const targetPids = providerProcessTree(provider, await listUserProcesses());
|
|
755
|
+
for (const pid of targetPids)
|
|
756
|
+
signalProcess(pid, 'SIGTERM');
|
|
757
|
+
if (targetPids.length === 0)
|
|
758
|
+
return;
|
|
759
|
+
await sleep(PROVIDER_TERMINATE_GRACE_MS);
|
|
760
|
+
for (const pid of providerProcessTree(provider, await listUserProcesses()))
|
|
761
|
+
signalProcess(pid, 'SIGKILL');
|
|
762
|
+
}
|
|
763
|
+
function providerProcessTree(provider, entries) {
|
|
764
|
+
const selected = new Set(entries.filter((entry) => entry.pid !== process.pid && matchesProviderProcess(provider, entry.command, entry.args)).map((entry) => entry.pid));
|
|
765
|
+
if (selected.size === 0)
|
|
766
|
+
return [];
|
|
767
|
+
let changed = true;
|
|
768
|
+
while (changed) {
|
|
769
|
+
changed = false;
|
|
770
|
+
for (const entry of entries) {
|
|
771
|
+
if (!selected.has(entry.pid) && selected.has(entry.ppid)) {
|
|
772
|
+
selected.add(entry.pid);
|
|
773
|
+
changed = true;
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
return [...selected];
|
|
778
|
+
}
|
|
779
|
+
function signalProcess(pid, signal) {
|
|
780
|
+
try {
|
|
781
|
+
process.kill(pid, signal);
|
|
782
|
+
}
|
|
783
|
+
catch (error) {
|
|
784
|
+
const code = error.code;
|
|
785
|
+
if (code !== 'ESRCH')
|
|
786
|
+
throw error;
|
|
655
787
|
}
|
|
656
788
|
}
|
|
789
|
+
function sleep(milliseconds) {
|
|
790
|
+
return new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
791
|
+
}
|
|
657
792
|
function toPublicProfile(profile) {
|
|
658
793
|
return { id: profile.id, provider: profile.provider, label: profile.label, createdAt: profile.createdAt, updatedAt: profile.updatedAt, expiresAt: profile.expiresAt, refreshTokenExpiresAt: profile.refreshTokenExpiresAt };
|
|
659
794
|
}
|
|
@@ -665,6 +800,16 @@ function credentialTiming(provider, document) {
|
|
|
665
800
|
const tokens = isRecord(document.tokens) ? document.tokens : {};
|
|
666
801
|
return { expiresAt: jwtExpiry(tokens.access_token), refreshTokenExpiresAt: null };
|
|
667
802
|
}
|
|
803
|
+
function refreshTiming(provider, document, response, refreshedAt, previous) {
|
|
804
|
+
const timing = credentialTiming(provider, document);
|
|
805
|
+
if (!timing.expiresAt) {
|
|
806
|
+
const expiresIn = numberValue(response.expires_in);
|
|
807
|
+
timing.expiresAt = expiresIn ? new Date(refreshedAt.getTime() + expiresIn * 1000).toISOString() : previous.expiresAt;
|
|
808
|
+
}
|
|
809
|
+
if (!timing.refreshTokenExpiresAt)
|
|
810
|
+
timing.refreshTokenExpiresAt = previous.refreshTokenExpiresAt;
|
|
811
|
+
return timing;
|
|
812
|
+
}
|
|
668
813
|
function refreshTokenFor(provider, document) {
|
|
669
814
|
const source = provider === 'claude' ? (isRecord(document.claudeAiOauth) ? document.claudeAiOauth : {}) : (isRecord(document.tokens) ? document.tokens : {});
|
|
670
815
|
const token = source.refreshToken ?? source.refresh_token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountService.js","sourceRoot":"","sources":["../../../src/server/accounts/accountService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accountService.js","sourceRoot":"","sources":["../../../src/server/accounts/accountService.ts"],"names":[],"mappings":"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"}
|