perplexity-user-mcp 0.8.38 → 0.8.39
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 +117 -9
- package/dist/checks/vault.d.ts +41 -0
- package/dist/checks/vault.mjs +23 -0
- package/dist/{chunk-Q2VY4R5F.mjs → chunk-2FPGJKCA.mjs} +2 -2
- package/dist/{chunk-ZQFUZPLO.mjs → chunk-452DK6OS.mjs} +2 -2
- package/dist/{chunk-OF4DMAPJ.mjs → chunk-B65IJQZJ.mjs} +1 -1
- package/dist/{chunk-H4BUAPPO.mjs → chunk-C3HPFFTD.mjs} +4 -4
- package/dist/{chunk-LZPLNZ5U.mjs → chunk-D254EFYB.mjs} +1 -1
- package/dist/{chunk-Z7DAACGZ.mjs → chunk-DQQISMYN.mjs} +2 -2
- package/dist/{chunk-3B276PGG.mjs → chunk-FKQ3HP4Q.mjs} +1 -1
- package/dist/{chunk-7JL36EBH.mjs → chunk-HNSPNCFH.mjs} +1 -1
- package/dist/{chunk-6EP2BLTV.mjs → chunk-KJFX2ZXR.mjs} +1 -1
- package/dist/{chunk-YUGDOXIN.mjs → chunk-NJX4RBO6.mjs} +1 -1
- package/dist/{chunk-X45O6YD3.mjs → chunk-RK4EBZJ3.mjs} +28 -9
- package/dist/{chunk-TQLCLE4L.mjs → chunk-S677V2JU.mjs} +57 -12
- package/dist/{chunk-S5VD7WTU.mjs → chunk-T6ARJK2P.mjs} +6 -6
- package/dist/{chunk-HTUAQRKH.mjs → chunk-TDXETAQT.mjs} +1 -1
- package/dist/{chunk-LKJMLGFP.mjs → chunk-U7QPUNRH.mjs} +2 -2
- package/dist/{chunk-PE23RMXY.mjs → chunk-V4U3JM4R.mjs} +1 -1
- package/dist/chunk-WDIW33DA.mjs +77 -0
- package/dist/{chunk-KCXM2M4B.mjs → chunk-XTRJSV72.mjs} +1 -1
- package/dist/cli.d.ts +348 -2
- package/dist/cli.mjs +259 -3
- package/dist/client.mjs +6 -6
- package/dist/cloud-sync.mjs +8 -8
- package/dist/config.mjs +3 -3
- package/dist/daemon/attach.mjs +17 -17
- package/dist/daemon/audit.mjs +2 -2
- package/dist/daemon/client-http.mjs +17 -17
- package/dist/daemon/index.mjs +18 -18
- package/dist/daemon/install-tunnel.mjs +2 -2
- package/dist/daemon/launcher.mjs +16 -16
- package/dist/daemon/lockfile.mjs +2 -2
- package/dist/daemon/server.mjs +11 -11
- package/dist/daemon/token.mjs +2 -2
- package/dist/daemon/tunnel-providers/index.mjs +3 -3
- package/dist/doctor.mjs +2 -2
- package/dist/export.mjs +4 -4
- package/dist/health-check.d.ts +1 -1
- package/dist/health-check.mjs +3 -3
- package/dist/history-store.mjs +2 -2
- package/dist/impit-login-runner.d.ts +1 -1
- package/dist/impit-login-runner.mjs +4 -4
- package/dist/index.mjs +57 -22
- package/dist/login-runner.d.ts +1 -1
- package/dist/login-runner.mjs +3 -3
- package/dist/logout.d.ts +1 -1
- package/dist/logout.mjs +2 -2
- package/dist/manual-login-runner.d.ts +1 -1
- package/dist/manual-login-runner.mjs +3 -3
- package/dist/{native-deps-YNKXITRY.mjs → native-deps-IE4B55EL.mjs} +4 -4
- package/dist/profiles.mjs +1 -1
- package/dist/refresh.mjs +4 -4
- package/dist/reinit-watcher.d.ts +12 -1
- package/dist/reinit-watcher.mjs +4 -2
- package/dist/vault.d-BSJWDLhp.d.ts +37 -0
- package/dist/vault.mjs +4 -2
- package/dist/viewers.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-U3DGFLXZ.mjs +0 -43
- package/dist/vault.d-BtRSLZiM.d.ts +0 -8
- /package/dist/{chunk-XKSWCEGI.mjs → chunk-HJIXH6CL.mjs} +0 -0
package/dist/daemon/token.mjs
CHANGED
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
getTokenPath,
|
|
5
5
|
readToken,
|
|
6
6
|
rotateToken
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-TDXETAQT.mjs";
|
|
8
8
|
import "../chunk-MTDFKNXX.mjs";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-HJIXH6CL.mjs";
|
|
10
10
|
import "../chunk-4UEJOM6W.mjs";
|
|
11
11
|
export {
|
|
12
12
|
ensureToken,
|
|
@@ -23,11 +23,11 @@ import {
|
|
|
23
23
|
writeNgrokSettings,
|
|
24
24
|
writeTunnelConfig,
|
|
25
25
|
writeTunnelSettings
|
|
26
|
-
} from "../../chunk-
|
|
26
|
+
} from "../../chunk-XTRJSV72.mjs";
|
|
27
27
|
import "../../chunk-6YMQVLFX.mjs";
|
|
28
|
-
import "../../chunk-
|
|
28
|
+
import "../../chunk-FKQ3HP4Q.mjs";
|
|
29
29
|
import "../../chunk-MTDFKNXX.mjs";
|
|
30
|
-
import "../../chunk-
|
|
30
|
+
import "../../chunk-HJIXH6CL.mjs";
|
|
31
31
|
import "../../chunk-4UEJOM6W.mjs";
|
|
32
32
|
export {
|
|
33
33
|
DeleteNamedTunnelError,
|
package/dist/doctor.mjs
CHANGED
package/dist/export.mjs
CHANGED
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
FORMAT_TO_CONTENT_TYPE,
|
|
3
3
|
exportThread,
|
|
4
4
|
resolveExportApiFormat
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-D254EFYB.mjs";
|
|
6
|
+
import "./chunk-U7QPUNRH.mjs";
|
|
7
|
+
import "./chunk-S677V2JU.mjs";
|
|
8
8
|
import "./chunk-MTDFKNXX.mjs";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-HJIXH6CL.mjs";
|
|
10
10
|
import "./chunk-4UEJOM6W.mjs";
|
|
11
11
|
export {
|
|
12
12
|
FORMAT_TO_CONTENT_TYPE,
|
package/dist/health-check.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { chromium } from 'patchright';
|
|
3
|
-
import { Vault } from './vault.d-
|
|
3
|
+
import { Vault } from './vault.d-BSJWDLhp.js';
|
|
4
4
|
import { getProfilePaths, getActiveName } from './profiles.d-DqS1oZWr.js';
|
|
5
5
|
import { getOrCreateContext, findBrowser } from './config.js';
|
|
6
6
|
import { redact } from './redact.js';
|
package/dist/health-check.mjs
CHANGED
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findBrowser,
|
|
9
9
|
getOrCreateContext
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-U7QPUNRH.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Vault
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-S677V2JU.mjs";
|
|
14
14
|
import "./chunk-MTDFKNXX.mjs";
|
|
15
15
|
import {
|
|
16
16
|
getActiveName,
|
|
17
17
|
getProfilePaths
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
19
19
|
import "./chunk-4UEJOM6W.mjs";
|
|
20
20
|
|
|
21
21
|
// src/health-check.js
|
package/dist/history-store.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { Vault } from './vault.d-
|
|
2
|
+
import { Vault } from './vault.d-BSJWDLhp.js';
|
|
3
3
|
import { recordLoginSuccess, getActiveName, getProfilePaths } from './profiles.d-DqS1oZWr.js';
|
|
4
4
|
import { redact } from './redact.js';
|
|
5
5
|
import { b as buildRuntimeEndpoints } from './session-metadata-B9aV_n5g.js';
|
|
@@ -7,22 +7,22 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
isImpitAvailable,
|
|
9
9
|
loadImpit
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-DQQISMYN.mjs";
|
|
11
11
|
import {
|
|
12
12
|
PERPLEXITY_URL,
|
|
13
13
|
findBrowser,
|
|
14
14
|
getOrCreateContext,
|
|
15
15
|
resolveBrowserExecutable
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-U7QPUNRH.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Vault
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-S677V2JU.mjs";
|
|
20
20
|
import "./chunk-MTDFKNXX.mjs";
|
|
21
21
|
import {
|
|
22
22
|
getActiveName,
|
|
23
23
|
getProfilePaths,
|
|
24
24
|
recordLoginSuccess
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
26
26
|
import "./chunk-4UEJOM6W.mjs";
|
|
27
27
|
|
|
28
28
|
// src/impit-login-runner.js
|
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
CATEGORIES,
|
|
4
4
|
formatReportMarkdown,
|
|
5
5
|
runAll
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HNSPNCFH.mjs";
|
|
7
7
|
import {
|
|
8
8
|
buildIssueBody,
|
|
9
9
|
buildIssueUrl,
|
|
@@ -12,15 +12,15 @@ import {
|
|
|
12
12
|
} from "./chunk-DPGMKSSA.mjs";
|
|
13
13
|
import {
|
|
14
14
|
attachToDaemon
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NJX4RBO6.mjs";
|
|
16
16
|
import {
|
|
17
17
|
ensureDaemon,
|
|
18
18
|
startDaemon
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-RK4EBZJ3.mjs";
|
|
20
|
+
import "./chunk-XTRJSV72.mjs";
|
|
21
21
|
import "./chunk-6YMQVLFX.mjs";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-FKQ3HP4Q.mjs";
|
|
23
|
+
import "./chunk-KJFX2ZXR.mjs";
|
|
24
24
|
import {
|
|
25
25
|
buildAnswerPreview,
|
|
26
26
|
buildHistoryBody,
|
|
@@ -35,26 +35,27 @@ import {
|
|
|
35
35
|
registerTools,
|
|
36
36
|
saveToolConfig,
|
|
37
37
|
watchToolConfig
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-T6ARJK2P.mjs";
|
|
39
|
+
import "./chunk-V4U3JM4R.mjs";
|
|
40
|
+
import "./chunk-TDXETAQT.mjs";
|
|
41
41
|
import {
|
|
42
|
+
watchActiveProfile,
|
|
42
43
|
watchReinit
|
|
43
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-WDIW33DA.mjs";
|
|
44
45
|
import "./chunk-HMKLWVXB.mjs";
|
|
45
46
|
import {
|
|
46
47
|
hydrateCloudHistoryEntry,
|
|
47
48
|
syncCloudHistory
|
|
48
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-2FPGJKCA.mjs";
|
|
49
50
|
import {
|
|
50
51
|
PerplexityClient
|
|
51
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-C3HPFFTD.mjs";
|
|
52
53
|
import {
|
|
53
54
|
getImpitRuntimeDir,
|
|
54
55
|
getModelsCacheInfo,
|
|
55
56
|
isImpitAvailable,
|
|
56
57
|
refreshAccountInfo
|
|
57
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-DQQISMYN.mjs";
|
|
58
59
|
import {
|
|
59
60
|
append,
|
|
60
61
|
countAll,
|
|
@@ -74,20 +75,20 @@ import {
|
|
|
74
75
|
tag,
|
|
75
76
|
update,
|
|
76
77
|
upsertFromCloud
|
|
77
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-B65IJQZJ.mjs";
|
|
78
79
|
import {
|
|
79
80
|
exportThread
|
|
80
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-D254EFYB.mjs";
|
|
81
82
|
import {
|
|
82
83
|
findBrowser
|
|
83
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-U7QPUNRH.mjs";
|
|
84
85
|
import {
|
|
85
86
|
getUnsealMaterial
|
|
86
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-S677V2JU.mjs";
|
|
87
88
|
import "./chunk-MTDFKNXX.mjs";
|
|
88
89
|
import {
|
|
89
90
|
getActiveName
|
|
90
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
91
92
|
import "./chunk-4UEJOM6W.mjs";
|
|
92
93
|
|
|
93
94
|
// src/index.ts
|
|
@@ -165,7 +166,8 @@ async function main() {
|
|
|
165
166
|
const profile = process.env.PERPLEXITY_PROFILE || getActiveName() || "default";
|
|
166
167
|
console.error(`[perplexity-mcp] Starting with profile: ${profile}`);
|
|
167
168
|
await runVaultPreflight();
|
|
168
|
-
|
|
169
|
+
let currentWatchedProfile = profile;
|
|
170
|
+
let watcher = watchReinit(currentWatchedProfile, async () => {
|
|
169
171
|
console.error("[perplexity-mcp] .reinit sentinel fired \u2014 reloading client.");
|
|
170
172
|
try {
|
|
171
173
|
clientInitPromise = client.reinit();
|
|
@@ -174,13 +176,46 @@ async function main() {
|
|
|
174
176
|
console.error("[perplexity-mcp] reinit failed:", err);
|
|
175
177
|
}
|
|
176
178
|
});
|
|
179
|
+
const activeWatcher = watchActiveProfile(void 0, async () => {
|
|
180
|
+
try {
|
|
181
|
+
const nextProfile = process.env.PERPLEXITY_PROFILE || getActiveName() || "default";
|
|
182
|
+
if (nextProfile !== currentWatchedProfile) {
|
|
183
|
+
console.error(`[perplexity-mcp] active profile changed: ${currentWatchedProfile} \u2192 ${nextProfile}; reloading client.`);
|
|
184
|
+
currentWatchedProfile = nextProfile;
|
|
185
|
+
watcher.dispose();
|
|
186
|
+
watcher = watchReinit(nextProfile, async () => {
|
|
187
|
+
console.error("[perplexity-mcp] .reinit sentinel fired \u2014 reloading client.");
|
|
188
|
+
try {
|
|
189
|
+
clientInitPromise = client.reinit();
|
|
190
|
+
await clientInitPromise;
|
|
191
|
+
} catch (err) {
|
|
192
|
+
console.error("[perplexity-mcp] reinit failed:", err);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
clientInitPromise = client.reinit();
|
|
197
|
+
await clientInitPromise;
|
|
198
|
+
} catch (err) {
|
|
199
|
+
console.error("[perplexity-mcp] active-profile reload failed:", err);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
const disposeWatchers = () => {
|
|
203
|
+
try {
|
|
204
|
+
watcher.dispose();
|
|
205
|
+
} catch {
|
|
206
|
+
}
|
|
207
|
+
try {
|
|
208
|
+
activeWatcher.dispose();
|
|
209
|
+
} catch {
|
|
210
|
+
}
|
|
211
|
+
};
|
|
177
212
|
process.on("SIGINT", async () => {
|
|
178
|
-
|
|
213
|
+
disposeWatchers();
|
|
179
214
|
await shutdownClientWithTimeout(client);
|
|
180
215
|
process.exit(0);
|
|
181
216
|
});
|
|
182
217
|
process.on("SIGTERM", async () => {
|
|
183
|
-
|
|
218
|
+
disposeWatchers();
|
|
184
219
|
await shutdownClientWithTimeout(client);
|
|
185
220
|
process.exit(0);
|
|
186
221
|
});
|
|
@@ -189,7 +224,7 @@ async function main() {
|
|
|
189
224
|
try {
|
|
190
225
|
await waitForStdioInputClose();
|
|
191
226
|
} finally {
|
|
192
|
-
|
|
227
|
+
disposeWatchers();
|
|
193
228
|
await shutdownClientWithTimeout(client);
|
|
194
229
|
}
|
|
195
230
|
}
|
package/dist/login-runner.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { chromium } from 'patchright';
|
|
3
|
-
import { Vault } from './vault.d-
|
|
3
|
+
import { Vault } from './vault.d-BSJWDLhp.js';
|
|
4
4
|
import { resolveBrowserExecutable } from './config.js';
|
|
5
5
|
import { recordLoginSuccess, getActiveName, getProfilePaths } from './profiles.d-DqS1oZWr.js';
|
|
6
6
|
import { redact } from './redact.js';
|
package/dist/login-runner.mjs
CHANGED
|
@@ -8,16 +8,16 @@ import {
|
|
|
8
8
|
} from "./chunk-HMKLWVXB.mjs";
|
|
9
9
|
import {
|
|
10
10
|
resolveBrowserExecutable
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-U7QPUNRH.mjs";
|
|
12
12
|
import {
|
|
13
13
|
Vault
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-S677V2JU.mjs";
|
|
15
15
|
import "./chunk-MTDFKNXX.mjs";
|
|
16
16
|
import {
|
|
17
17
|
getActiveName,
|
|
18
18
|
getProfilePaths,
|
|
19
19
|
recordLoginSuccess
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
21
21
|
import "./chunk-4UEJOM6W.mjs";
|
|
22
22
|
|
|
23
23
|
// src/login-runner.js
|
package/dist/logout.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { Vault } from './vault.d-
|
|
2
|
+
import { Vault } from './vault.d-BSJWDLhp.js';
|
|
3
3
|
import { getActiveName, setActive, getProfilePaths, listProfiles, getProfile } from './profiles.d-DqS1oZWr.js';
|
|
4
4
|
|
|
5
5
|
async function softLogout(name) {
|
package/dist/logout.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Vault
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S677V2JU.mjs";
|
|
4
4
|
import "./chunk-MTDFKNXX.mjs";
|
|
5
5
|
import {
|
|
6
6
|
createProfile,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getProfilePaths,
|
|
10
10
|
listProfiles,
|
|
11
11
|
setActive
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
13
13
|
import "./chunk-4UEJOM6W.mjs";
|
|
14
14
|
|
|
15
15
|
// src/logout.js
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { chromium } from 'patchright';
|
|
3
|
-
import { Vault } from './vault.d-
|
|
3
|
+
import { Vault } from './vault.d-BSJWDLhp.js';
|
|
4
4
|
import { resolveBrowserExecutable } from './config.js';
|
|
5
5
|
import { recordLoginSuccess, getActiveName, getProfilePaths } from './profiles.d-DqS1oZWr.js';
|
|
6
6
|
import { redact } from './redact.js';
|
|
@@ -6,16 +6,16 @@ import {
|
|
|
6
6
|
} from "./chunk-HMKLWVXB.mjs";
|
|
7
7
|
import {
|
|
8
8
|
resolveBrowserExecutable
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-U7QPUNRH.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Vault
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-S677V2JU.mjs";
|
|
13
13
|
import "./chunk-MTDFKNXX.mjs";
|
|
14
14
|
import {
|
|
15
15
|
getActiveName,
|
|
16
16
|
getProfilePaths,
|
|
17
17
|
recordLoginSuccess
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-HJIXH6CL.mjs";
|
|
19
19
|
import "./chunk-4UEJOM6W.mjs";
|
|
20
20
|
|
|
21
21
|
// src/manual-login-runner.js
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getImpitRuntimeDir
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-DQQISMYN.mjs";
|
|
4
|
+
import "./chunk-U7QPUNRH.mjs";
|
|
5
|
+
import "./chunk-S677V2JU.mjs";
|
|
6
6
|
import "./chunk-MTDFKNXX.mjs";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-HJIXH6CL.mjs";
|
|
8
8
|
import "./chunk-4UEJOM6W.mjs";
|
|
9
9
|
|
|
10
10
|
// src/native-deps.js
|
package/dist/profiles.mjs
CHANGED
package/dist/refresh.mjs
CHANGED
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
isImpitAvailable,
|
|
6
6
|
loadImpit,
|
|
7
7
|
refreshAccountInfo
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-DQQISMYN.mjs";
|
|
9
|
+
import "./chunk-U7QPUNRH.mjs";
|
|
10
|
+
import "./chunk-S677V2JU.mjs";
|
|
11
11
|
import "./chunk-MTDFKNXX.mjs";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-HJIXH6CL.mjs";
|
|
13
13
|
import "./chunk-4UEJOM6W.mjs";
|
|
14
14
|
export {
|
|
15
15
|
getImpitRuntimeDir,
|
package/dist/reinit-watcher.d.ts
CHANGED
|
@@ -12,4 +12,15 @@ declare function watchReinit(
|
|
|
12
12
|
opts?: WatchReinitOptions
|
|
13
13
|
): ReinitWatcher;
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Watch the `<configDir>/active` pointer file for profile switches and call
|
|
17
|
+
* `callback` whenever it changes. Pass `configDir = undefined` to use the
|
|
18
|
+
* resolved default config dir (PERPLEXITY_CONFIG_DIR or ~/.perplexity-mcp).
|
|
19
|
+
*/
|
|
20
|
+
declare function watchActiveProfile(
|
|
21
|
+
configDir: string | undefined,
|
|
22
|
+
callback: () => void | Promise<void>,
|
|
23
|
+
opts?: WatchReinitOptions
|
|
24
|
+
): ReinitWatcher;
|
|
25
|
+
|
|
26
|
+
export { type ReinitWatcher, type WatchReinitOptions, watchActiveProfile, watchReinit };
|
package/dist/reinit-watcher.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
+
watchActiveProfile,
|
|
2
3
|
watchReinit
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-WDIW33DA.mjs";
|
|
5
|
+
import "./chunk-HJIXH6CL.mjs";
|
|
5
6
|
import "./chunk-4UEJOM6W.mjs";
|
|
6
7
|
export {
|
|
8
|
+
watchActiveProfile,
|
|
7
9
|
watchReinit
|
|
8
10
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
declare function encryptBlob(plaintext: Buffer, key: Buffer): Buffer;
|
|
2
|
+
declare function decryptBlob(blob: Buffer, key: Buffer): Buffer;
|
|
3
|
+
declare function __resetKeyCache(): void;
|
|
4
|
+
declare function getMasterKey(): Promise<Buffer>;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* TEST SEAM — drop scrypt cost during tests by overriding the (logN, r, p)
|
|
8
|
+
* parameters used at write time. Reads always use the params embedded in the
|
|
9
|
+
* blob, regardless of any override.
|
|
10
|
+
*
|
|
11
|
+
* Cleared by `__resetKeyCache()` so tests do not leak state across files.
|
|
12
|
+
* MUST NOT be called from production code paths. The decrypt-time floor
|
|
13
|
+
* check (logN >= SCRYPT_LOGN_FLOOR) remains enforced unconditionally.
|
|
14
|
+
*/
|
|
15
|
+
declare function __setKdfParamsForTest(params: { logN: number; r: number; p: number }): void;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Sibling of `getMasterKey()` introduced with the v2 vault format. Returns
|
|
19
|
+
* the unseal context WITHOUT prematurely deriving the HKDF key — for v2
|
|
20
|
+
* blobs, key derivation needs the salt embedded in each blob, so it can no
|
|
21
|
+
* longer happen up front. Cached just like `_keyCache`; cleared by
|
|
22
|
+
* `__resetKeyCache()`.
|
|
23
|
+
*/
|
|
24
|
+
type UnsealMaterial =
|
|
25
|
+
| { kind: "key"; key: Buffer }
|
|
26
|
+
| { kind: "passphrase"; passphrase: string };
|
|
27
|
+
|
|
28
|
+
declare function getUnsealMaterial(): Promise<UnsealMaterial>;
|
|
29
|
+
|
|
30
|
+
declare class Vault {
|
|
31
|
+
get(profile: string, key: string): Promise<string | null>;
|
|
32
|
+
set(profile: string, key: string, value: string): Promise<void>;
|
|
33
|
+
delete(profile: string, key: string): Promise<void>;
|
|
34
|
+
deleteAll(profile: string): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { type UnsealMaterial, Vault, __resetKeyCache, __setKdfParamsForTest, decryptBlob, encryptBlob, getMasterKey, getUnsealMaterial };
|
package/dist/vault.mjs
CHANGED
|
@@ -4,11 +4,12 @@ import {
|
|
|
4
4
|
__setKdfParamsForTest,
|
|
5
5
|
decryptBlob,
|
|
6
6
|
encryptBlob,
|
|
7
|
+
getAllUnsealMaterials,
|
|
7
8
|
getMasterKey,
|
|
8
9
|
getUnsealMaterial
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-S677V2JU.mjs";
|
|
10
11
|
import "./chunk-MTDFKNXX.mjs";
|
|
11
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-HJIXH6CL.mjs";
|
|
12
13
|
import "./chunk-4UEJOM6W.mjs";
|
|
13
14
|
export {
|
|
14
15
|
Vault,
|
|
@@ -16,6 +17,7 @@ export {
|
|
|
16
17
|
__setKdfParamsForTest,
|
|
17
18
|
decryptBlob,
|
|
18
19
|
encryptBlob,
|
|
20
|
+
getAllUnsealMaterials,
|
|
19
21
|
getMasterKey,
|
|
20
22
|
getUnsealMaterial
|
|
21
23
|
};
|
package/dist/viewers.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "perplexity-user-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.39",
|
|
4
4
|
"mcpName": "io.github.Automations-Project/perplexity-user-mcp",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Perplexity AI MCP server — browser automation for search, reasoning, research, and compute. Not affiliated with Perplexity AI, Inc.",
|
package/dist/chunk-U3DGFLXZ.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getProfilePaths
|
|
3
|
-
} from "./chunk-XKSWCEGI.mjs";
|
|
4
|
-
|
|
5
|
-
// src/reinit-watcher.js
|
|
6
|
-
import { existsSync, mkdirSync, watch } from "fs";
|
|
7
|
-
import { dirname } from "path";
|
|
8
|
-
function watchReinit(profileName, callback, opts = {}) {
|
|
9
|
-
const { debounceMs = 200 } = opts;
|
|
10
|
-
const target = getProfilePaths(profileName).reinit;
|
|
11
|
-
const parent = dirname(target);
|
|
12
|
-
if (!existsSync(parent)) mkdirSync(parent, { recursive: true });
|
|
13
|
-
let timer = null;
|
|
14
|
-
const w = watch(parent, { persistent: false }, (event, filename) => {
|
|
15
|
-
if (!filename) return;
|
|
16
|
-
if (!String(filename).endsWith(".reinit")) return;
|
|
17
|
-
if (!existsSync(target)) return;
|
|
18
|
-
if (timer) clearTimeout(timer);
|
|
19
|
-
timer = setTimeout(() => {
|
|
20
|
-
timer = null;
|
|
21
|
-
try {
|
|
22
|
-
callback();
|
|
23
|
-
} catch {
|
|
24
|
-
}
|
|
25
|
-
}, debounceMs);
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
dispose() {
|
|
29
|
-
if (timer) {
|
|
30
|
-
clearTimeout(timer);
|
|
31
|
-
timer = null;
|
|
32
|
-
}
|
|
33
|
-
try {
|
|
34
|
-
w.close();
|
|
35
|
-
} catch {
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export {
|
|
42
|
-
watchReinit
|
|
43
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
declare class Vault {
|
|
2
|
-
get(profile: string, key: string): Promise<string | null>;
|
|
3
|
-
set(profile: string, key: string, value: string): Promise<void>;
|
|
4
|
-
delete(profile: string, key: string): Promise<void>;
|
|
5
|
-
deleteAll(profile: string): Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export { Vault };
|
|
File without changes
|