procsi 0.6.4 → 0.7.1
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 +62 -29
- package/dist/cli/commands/browser.d.ts +3 -0
- package/dist/cli/commands/browser.d.ts.map +1 -0
- package/dist/cli/commands/browser.js +125 -0
- package/dist/cli/commands/browser.js.map +1 -0
- package/dist/cli/commands/helpers.d.ts +11 -0
- package/dist/cli/commands/helpers.d.ts.map +1 -1
- package/dist/cli/commands/helpers.js +30 -2
- package/dist/cli/commands/helpers.js.map +1 -1
- package/dist/cli/commands/on.js +3 -3
- package/dist/cli/commands/on.js.map +1 -1
- package/dist/cli/commands/project.js +6 -3
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/tui.d.ts.map +1 -1
- package/dist/cli/commands/tui.js +7 -2
- package/dist/cli/commands/tui.js.map +1 -1
- package/dist/cli/index.js +7 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tui/App.d.ts +4 -0
- package/dist/cli/tui/App.d.ts.map +1 -1
- package/dist/cli/tui/App.js +51 -5
- package/dist/cli/tui/App.js.map +1 -1
- package/dist/cli/tui/components/AccordionPanel.d.ts +6 -0
- package/dist/cli/tui/components/AccordionPanel.d.ts.map +1 -1
- package/dist/cli/tui/components/AccordionPanel.js +1 -1
- package/dist/cli/tui/components/AccordionPanel.js.map +1 -1
- package/dist/cli/tui/components/HelpModal.d.ts.map +1 -1
- package/dist/cli/tui/components/HelpModal.js +3 -0
- package/dist/cli/tui/components/HelpModal.js.map +1 -1
- package/dist/cli/tui/components/StatusBar.d.ts.map +1 -1
- package/dist/cli/tui/components/StatusBar.js +2 -0
- package/dist/cli/tui/components/StatusBar.js.map +1 -1
- package/dist/daemon/index.js +9 -4
- package/dist/daemon/index.js.map +1 -1
- package/dist/shared/browser.d.ts +72 -0
- package/dist/shared/browser.d.ts.map +1 -0
- package/dist/shared/browser.js +363 -0
- package/dist/shared/browser.js.map +1 -0
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +2 -1
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/daemon.d.ts.map +1 -1
- package/dist/shared/daemon.js +6 -1
- package/dist/shared/daemon.js.map +1 -1
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/logger.js +2 -1
- package/dist/shared/logger.js.map +1 -1
- package/dist/shared/project.d.ts +11 -3
- package/dist/shared/project.d.ts.map +1 -1
- package/dist/shared/project.js +19 -21
- package/dist/shared/project.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser detection, extension generation, and launching for proxied browser sessions.
|
|
3
|
+
*
|
|
4
|
+
* Supports Chrome/Chromium and Firefox. Safari is deferred — it requires
|
|
5
|
+
* system-wide proxy settings and macOS Keychain CA trust (elevated permissions).
|
|
6
|
+
*/
|
|
7
|
+
import * as crypto from "node:crypto";
|
|
8
|
+
import * as fs from "node:fs";
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
import { spawn, execFileSync } from "node:child_process";
|
|
11
|
+
// ── Constants ────────────────────────────────────────────────────────────────
|
|
12
|
+
const WHICH_TIMEOUT_MS = 1000;
|
|
13
|
+
const FIREFOX_EXTENSION_ID = "procsi@procsi.dev";
|
|
14
|
+
/**
|
|
15
|
+
* Known browser executable paths per platform.
|
|
16
|
+
* macOS uses .app bundle paths; Linux uses binary names resolved via `which`.
|
|
17
|
+
*/
|
|
18
|
+
const KNOWN_BROWSERS = {
|
|
19
|
+
darwin: [
|
|
20
|
+
// Chromium-based
|
|
21
|
+
{
|
|
22
|
+
type: "chrome",
|
|
23
|
+
name: "Google Chrome",
|
|
24
|
+
path: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: "chrome",
|
|
28
|
+
name: "Brave",
|
|
29
|
+
path: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "chrome",
|
|
33
|
+
name: "Microsoft Edge",
|
|
34
|
+
path: "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: "chrome",
|
|
38
|
+
name: "Vivaldi",
|
|
39
|
+
path: "/Applications/Vivaldi.app/Contents/MacOS/Vivaldi",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: "chrome",
|
|
43
|
+
name: "Arc",
|
|
44
|
+
path: "/Applications/Arc.app/Contents/MacOS/Arc",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
type: "chrome",
|
|
48
|
+
name: "Chromium",
|
|
49
|
+
path: "/Applications/Chromium.app/Contents/MacOS/Chromium",
|
|
50
|
+
},
|
|
51
|
+
// Firefox-based
|
|
52
|
+
{
|
|
53
|
+
type: "firefox",
|
|
54
|
+
name: "Firefox",
|
|
55
|
+
path: "/Applications/Firefox.app/Contents/MacOS/firefox",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: "firefox",
|
|
59
|
+
name: "Zen Browser",
|
|
60
|
+
path: "/Applications/Zen.app/Contents/MacOS/zen",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: "firefox",
|
|
64
|
+
name: "LibreWolf",
|
|
65
|
+
path: "/Applications/LibreWolf.app/Contents/MacOS/LibreWolf",
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
linux: [
|
|
69
|
+
// Chromium-based
|
|
70
|
+
{ type: "chrome", name: "Google Chrome", path: "google-chrome" },
|
|
71
|
+
{ type: "chrome", name: "Google Chrome (stable)", path: "google-chrome-stable" },
|
|
72
|
+
{ type: "chrome", name: "Brave", path: "brave-browser" },
|
|
73
|
+
{ type: "chrome", name: "Microsoft Edge", path: "microsoft-edge" },
|
|
74
|
+
{ type: "chrome", name: "Microsoft Edge (stable)", path: "microsoft-edge-stable" },
|
|
75
|
+
{ type: "chrome", name: "Vivaldi", path: "vivaldi" },
|
|
76
|
+
{ type: "chrome", name: "Vivaldi (stable)", path: "vivaldi-stable" },
|
|
77
|
+
{ type: "chrome", name: "Chromium", path: "chromium" },
|
|
78
|
+
{ type: "chrome", name: "Chromium (browser)", path: "chromium-browser" },
|
|
79
|
+
// Firefox-based
|
|
80
|
+
{ type: "firefox", name: "Firefox", path: "firefox" },
|
|
81
|
+
{ type: "firefox", name: "Zen Browser", path: "zen-browser" },
|
|
82
|
+
{ type: "firefox", name: "LibreWolf", path: "librewolf" },
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
// ── Browser Detection ────────────────────────────────────────────────────────
|
|
86
|
+
/**
|
|
87
|
+
* Resolve a binary name to its absolute path via `which`.
|
|
88
|
+
* Returns undefined if the binary is not found.
|
|
89
|
+
*/
|
|
90
|
+
function whichBinary(name) {
|
|
91
|
+
try {
|
|
92
|
+
const result = execFileSync("which", [name], {
|
|
93
|
+
timeout: WHICH_TIMEOUT_MS,
|
|
94
|
+
encoding: "utf-8",
|
|
95
|
+
});
|
|
96
|
+
const resolved = result.trim();
|
|
97
|
+
return resolved || undefined;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Detect installed browsers on the current system.
|
|
105
|
+
* Returns an array of found browsers, ordered by preference (Chrome first, then Firefox).
|
|
106
|
+
*/
|
|
107
|
+
export function detectBrowsers(platform = process.platform) {
|
|
108
|
+
const candidates = KNOWN_BROWSERS[platform];
|
|
109
|
+
if (!candidates)
|
|
110
|
+
return [];
|
|
111
|
+
const found = [];
|
|
112
|
+
for (const candidate of candidates) {
|
|
113
|
+
if (platform === "darwin") {
|
|
114
|
+
// macOS: check if the full path exists
|
|
115
|
+
if (fs.existsSync(candidate.path)) {
|
|
116
|
+
found.push({
|
|
117
|
+
type: candidate.type,
|
|
118
|
+
name: candidate.name,
|
|
119
|
+
execPath: candidate.path,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// Linux: resolve via `which`
|
|
125
|
+
const resolved = whichBinary(candidate.path);
|
|
126
|
+
if (resolved) {
|
|
127
|
+
found.push({
|
|
128
|
+
type: candidate.type,
|
|
129
|
+
name: candidate.name,
|
|
130
|
+
execPath: resolved,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return found;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Find a browser matching the preferred name, or return the first available.
|
|
139
|
+
* The preferred string is matched case-insensitively against both the type
|
|
140
|
+
* ("chrome", "firefox") and the human-readable name.
|
|
141
|
+
*/
|
|
142
|
+
export function findBrowser(browsers, preferred) {
|
|
143
|
+
if (browsers.length === 0)
|
|
144
|
+
return undefined;
|
|
145
|
+
if (!preferred)
|
|
146
|
+
return browsers[0];
|
|
147
|
+
const needle = preferred.toLowerCase();
|
|
148
|
+
return (browsers.find((b) => b.type === needle || b.name.toLowerCase().includes(needle)) ?? undefined);
|
|
149
|
+
}
|
|
150
|
+
// ── Chrome Extension Generator ───────────────────────────────────────────────
|
|
151
|
+
/**
|
|
152
|
+
* Generate a Chrome MV3 extension that injects procsi session headers
|
|
153
|
+
* into every outgoing request via declarativeNetRequest.
|
|
154
|
+
*/
|
|
155
|
+
export function generateChromeExtension(dir, sessionId, sessionToken) {
|
|
156
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
157
|
+
const manifest = {
|
|
158
|
+
manifest_version: 3,
|
|
159
|
+
name: "procsi Session Headers",
|
|
160
|
+
version: "1.0",
|
|
161
|
+
description: "Injects procsi session headers for traffic attribution",
|
|
162
|
+
permissions: ["declarativeNetRequest"],
|
|
163
|
+
host_permissions: ["<all_urls>"],
|
|
164
|
+
declarative_net_request: {
|
|
165
|
+
rule_resources: [
|
|
166
|
+
{
|
|
167
|
+
id: "procsi_rules",
|
|
168
|
+
enabled: true,
|
|
169
|
+
path: "rules.json",
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
const rules = [
|
|
175
|
+
{
|
|
176
|
+
id: 1,
|
|
177
|
+
priority: 1,
|
|
178
|
+
action: {
|
|
179
|
+
type: "modifyHeaders",
|
|
180
|
+
requestHeaders: [
|
|
181
|
+
{
|
|
182
|
+
header: "x-procsi-internal-session-id",
|
|
183
|
+
operation: "set",
|
|
184
|
+
value: sessionId,
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
header: "x-procsi-internal-session-token",
|
|
188
|
+
operation: "set",
|
|
189
|
+
value: sessionToken,
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
condition: {
|
|
194
|
+
urlFilter: "*",
|
|
195
|
+
resourceTypes: [
|
|
196
|
+
"main_frame",
|
|
197
|
+
"sub_frame",
|
|
198
|
+
"stylesheet",
|
|
199
|
+
"script",
|
|
200
|
+
"image",
|
|
201
|
+
"font",
|
|
202
|
+
"object",
|
|
203
|
+
"xmlhttprequest",
|
|
204
|
+
"ping",
|
|
205
|
+
"media",
|
|
206
|
+
"websocket",
|
|
207
|
+
"webtransport",
|
|
208
|
+
"other",
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
];
|
|
213
|
+
fs.writeFileSync(path.join(dir, "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
214
|
+
fs.writeFileSync(path.join(dir, "rules.json"), JSON.stringify(rules, null, 2));
|
|
215
|
+
}
|
|
216
|
+
// ── Firefox Extension Generator ──────────────────────────────────────────────
|
|
217
|
+
/**
|
|
218
|
+
* Generate a Firefox MV2 extension that injects procsi session headers
|
|
219
|
+
* via the webRequest API.
|
|
220
|
+
*
|
|
221
|
+
* Firefox requires extensions to be placed in `<profile>/extensions/<id>/`.
|
|
222
|
+
* The `dir` argument should be the extension root directory (already
|
|
223
|
+
* including the extension ID in the path).
|
|
224
|
+
*/
|
|
225
|
+
export function generateFirefoxExtension(dir, sessionId, sessionToken) {
|
|
226
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
227
|
+
const manifest = {
|
|
228
|
+
manifest_version: 2,
|
|
229
|
+
name: "procsi Session Headers",
|
|
230
|
+
version: "1.0",
|
|
231
|
+
description: "Injects procsi session headers for traffic attribution",
|
|
232
|
+
permissions: ["webRequest", "webRequestBlocking", "<all_urls>"],
|
|
233
|
+
background: {
|
|
234
|
+
scripts: ["background.js"],
|
|
235
|
+
},
|
|
236
|
+
browser_specific_settings: {
|
|
237
|
+
gecko: {
|
|
238
|
+
id: FIREFOX_EXTENSION_ID,
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
// Session values are baked directly into the script — no external config needed
|
|
243
|
+
const backgroundJs = `
|
|
244
|
+
browser.webRequest.onBeforeSendHeaders.addListener(
|
|
245
|
+
function(details) {
|
|
246
|
+
details.requestHeaders.push({
|
|
247
|
+
name: "x-procsi-internal-session-id",
|
|
248
|
+
value: ${JSON.stringify(sessionId)}
|
|
249
|
+
});
|
|
250
|
+
details.requestHeaders.push({
|
|
251
|
+
name: "x-procsi-internal-session-token",
|
|
252
|
+
value: ${JSON.stringify(sessionToken)}
|
|
253
|
+
});
|
|
254
|
+
return { requestHeaders: details.requestHeaders };
|
|
255
|
+
},
|
|
256
|
+
{ urls: ["<all_urls>"] },
|
|
257
|
+
["blocking", "requestHeaders"]
|
|
258
|
+
);
|
|
259
|
+
`.trimStart();
|
|
260
|
+
fs.writeFileSync(path.join(dir, "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
261
|
+
fs.writeFileSync(path.join(dir, "background.js"), backgroundJs);
|
|
262
|
+
}
|
|
263
|
+
// ── Firefox Profile Generator ────────────────────────────────────────────────
|
|
264
|
+
/**
|
|
265
|
+
* Generate a Firefox `user.js` file that pre-configures the profile to use
|
|
266
|
+
* the procsi proxy, allow unsigned extensions, and suppress telemetry prompts.
|
|
267
|
+
*/
|
|
268
|
+
export function generateFirefoxProfile(profileDir, proxyPort, _caCertPath) {
|
|
269
|
+
fs.mkdirSync(profileDir, { recursive: true });
|
|
270
|
+
const prefs = [
|
|
271
|
+
// Manual proxy configuration
|
|
272
|
+
`user_pref("network.proxy.type", 1);`,
|
|
273
|
+
`user_pref("network.proxy.http", "127.0.0.1");`,
|
|
274
|
+
`user_pref("network.proxy.http_port", ${proxyPort});`,
|
|
275
|
+
`user_pref("network.proxy.ssl", "127.0.0.1");`,
|
|
276
|
+
`user_pref("network.proxy.ssl_port", ${proxyPort});`,
|
|
277
|
+
`user_pref("network.proxy.no_proxies_on", "");`,
|
|
278
|
+
// Allow unsigned extensions
|
|
279
|
+
`user_pref("xpinstall.signatures.required", false);`,
|
|
280
|
+
// Suppress first-run and telemetry prompts
|
|
281
|
+
`user_pref("app.normandy.enabled", false);`,
|
|
282
|
+
`user_pref("datareporting.policy.dataSubmissionEnabled", false);`,
|
|
283
|
+
`user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);`,
|
|
284
|
+
`user_pref("browser.shell.checkDefaultBrowser", false);`,
|
|
285
|
+
`user_pref("browser.startup.homepage_override.mstone", "ignore");`,
|
|
286
|
+
// Accept the CA cert via enterprise policy workaround —
|
|
287
|
+
// security.enterprise_roots reads from the OS trust store on macOS/Windows,
|
|
288
|
+
// but on Linux we'd need certutil. For now, rely on the SPKI approach
|
|
289
|
+
// for Chrome and accept the cert warning in Firefox.
|
|
290
|
+
`user_pref("security.enterprise_roots.enabled", true);`,
|
|
291
|
+
];
|
|
292
|
+
fs.writeFileSync(path.join(profileDir, "user.js"), prefs.join("\n") + "\n");
|
|
293
|
+
}
|
|
294
|
+
// ── SPKI Hash Computation ────────────────────────────────────────────────────
|
|
295
|
+
/**
|
|
296
|
+
* Compute the SHA-256 SPKI fingerprint of a PEM-encoded certificate.
|
|
297
|
+
* Used for Chrome's `--ignore-certificate-errors-spki-list` flag,
|
|
298
|
+
* which trusts only the specific CA rather than disabling all cert checks.
|
|
299
|
+
*/
|
|
300
|
+
export function computeSpkiHash(certPemPath) {
|
|
301
|
+
const pem = fs.readFileSync(certPemPath, "utf-8");
|
|
302
|
+
const cert = new crypto.X509Certificate(pem);
|
|
303
|
+
// cert.publicKey gives us a KeyObject; export as DER (SubjectPublicKeyInfo)
|
|
304
|
+
const spkiDer = cert.publicKey.export({ type: "spki", format: "der" });
|
|
305
|
+
const hash = crypto.createHash("sha256").update(spkiDer).digest("base64");
|
|
306
|
+
return hash;
|
|
307
|
+
}
|
|
308
|
+
// ── Browser Launcher ─────────────────────────────────────────────────────────
|
|
309
|
+
/**
|
|
310
|
+
* Launch a Chrome/Chromium browser pre-configured to use the procsi proxy.
|
|
311
|
+
*/
|
|
312
|
+
export function launchChrome(info, options) {
|
|
313
|
+
const { proxyPort, caCertPath, profileDir, url } = options;
|
|
314
|
+
// Generate the session header extension
|
|
315
|
+
const extensionDir = path.join(profileDir, "extension");
|
|
316
|
+
generateChromeExtension(extensionDir, options.sessionId, options.sessionToken);
|
|
317
|
+
const spkiHash = computeSpkiHash(caCertPath);
|
|
318
|
+
const args = [
|
|
319
|
+
`--proxy-server=http://127.0.0.1:${proxyPort}`,
|
|
320
|
+
`--ignore-certificate-errors-spki-list=${spkiHash}`,
|
|
321
|
+
`--user-data-dir=${profileDir}`,
|
|
322
|
+
`--load-extension=${extensionDir}`,
|
|
323
|
+
"--no-first-run",
|
|
324
|
+
"--no-default-browser-check",
|
|
325
|
+
];
|
|
326
|
+
if (url) {
|
|
327
|
+
args.push(url);
|
|
328
|
+
}
|
|
329
|
+
return spawn(info.execPath, args, {
|
|
330
|
+
detached: true,
|
|
331
|
+
stdio: "ignore",
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Launch a Firefox browser pre-configured to use the procsi proxy.
|
|
336
|
+
*/
|
|
337
|
+
export function launchFirefox(info, options) {
|
|
338
|
+
const { proxyPort, caCertPath, profileDir, url } = options;
|
|
339
|
+
// Generate proxy profile
|
|
340
|
+
generateFirefoxProfile(profileDir, proxyPort, caCertPath);
|
|
341
|
+
// Generate the session header extension inside the profile's extensions directory
|
|
342
|
+
const extensionDir = path.join(profileDir, "extensions", FIREFOX_EXTENSION_ID);
|
|
343
|
+
generateFirefoxExtension(extensionDir, options.sessionId, options.sessionToken);
|
|
344
|
+
const args = ["--profile", profileDir, "--no-remote"];
|
|
345
|
+
if (url) {
|
|
346
|
+
args.push(url);
|
|
347
|
+
}
|
|
348
|
+
return spawn(info.execPath, args, {
|
|
349
|
+
detached: true,
|
|
350
|
+
stdio: "ignore",
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Launch a browser pre-configured to use the procsi proxy.
|
|
355
|
+
* Dispatches to the appropriate launcher based on browser type.
|
|
356
|
+
*/
|
|
357
|
+
export function launchBrowser(info, options) {
|
|
358
|
+
if (info.type === "chrome") {
|
|
359
|
+
return launchChrome(info, options);
|
|
360
|
+
}
|
|
361
|
+
return launchFirefox(info, options);
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/shared/browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAsB5E,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD;;;GAGG;AACH,MAAM,cAAc,GAAwE;IAC1F,MAAM,EAAE;QACN,iBAAiB;QACjB;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,8DAA8D;SACrE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,8DAA8D;SACrE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gEAAgE;SACvE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kDAAkD;SACzD;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,0CAA0C;SACjD;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,oDAAoD;SAC3D;QACD,gBAAgB;QAChB;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kDAAkD;SACzD;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,0CAA0C;SACjD;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sDAAsD;SAC7D;KACF;IACD,KAAK,EAAE;QACL,iBAAiB;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;QAChE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE;QACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAClE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,uBAAuB,EAAE;QAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;QACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACxE,gBAAgB;QAChB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;QAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;KAC1D;CACF,CAAC;AAEF,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;YAC3C,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,QAAQ,IAAI,SAAS,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,OAAO,CAAC,QAAQ;IAChE,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,uCAAuC;YACvC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,IAAI;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAuB,EAAE,SAAkB;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,CACL,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAC9F,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,SAAiB,EACjB,YAAoB;IAEpB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG;QACf,gBAAgB,EAAE,CAAC;QACnB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,uBAAuB,CAAC;QACtC,gBAAgB,EAAE,CAAC,YAAY,CAAC;QAChC,uBAAuB,EAAE;YACvB,cAAc,EAAE;gBACd;oBACE,EAAE,EAAE,cAAc;oBAClB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,YAAY;iBACnB;aACF;SACF;KACF,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ;YACE,EAAE,EAAE,CAAC;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,cAAc,EAAE;oBACd;wBACE,MAAM,EAAE,8BAA8B;wBACtC,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,SAAS;qBACjB;oBACD;wBACE,MAAM,EAAE,iCAAiC;wBACzC,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,YAAY;qBACpB;iBACF;aACF;YACD,SAAS,EAAE;gBACT,SAAS,EAAE,GAAG;gBACd,aAAa,EAAE;oBACb,YAAY;oBACZ,WAAW;oBACX,YAAY;oBACZ,QAAQ;oBACR,OAAO;oBACP,MAAM;oBACN,QAAQ;oBACR,gBAAgB;oBAChB,MAAM;oBACN,OAAO;oBACP,WAAW;oBACX,cAAc;oBACd,OAAO;iBACR;aACF;SACF;KACF,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAW,EACX,SAAiB,EACjB,YAAoB;IAEpB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG;QACf,gBAAgB,EAAE,CAAC;QACnB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,YAAY,CAAC;QAC/D,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,eAAe,CAAC;SAC3B;QACD,yBAAyB,EAAE;YACzB,KAAK,EAAE;gBACL,EAAE,EAAE,oBAAoB;aACzB;SACF;KACF,CAAC;IAEF,gFAAgF;IAChF,MAAM,YAAY,GAAG;;;;;eAKR,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;eAIzB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;CAO1C,CAAC,SAAS,EAAE,CAAC;IAEZ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,SAAiB,EACjB,WAAmB;IAEnB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,qCAAqC;QACrC,+CAA+C;QAC/C,wCAAwC,SAAS,IAAI;QACrD,8CAA8C;QAC9C,uCAAuC,SAAS,IAAI;QACpD,+CAA+C;QAE/C,4BAA4B;QAC5B,oDAAoD;QAEpD,2CAA2C;QAC3C,2CAA2C;QAC3C,iEAAiE;QACjE,iEAAiE;QACjE,wDAAwD;QACxD,kEAAkE;QAElE,wDAAwD;QACxD,4EAA4E;QAC5E,sEAAsE;QACtE,qDAAqD;QACrD,uDAAuD;KACxD,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAE7C,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,OAA6B;IAC3E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE3D,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG;QACX,mCAAmC,SAAS,EAAE;QAC9C,yCAAyC,QAAQ,EAAE;QACnD,mBAAmB,UAAU,EAAE;QAC/B,oBAAoB,YAAY,EAAE;QAClC,gBAAgB;QAChB,4BAA4B;KAC7B,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAiB,EAAE,OAA6B;IAC5E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE3D,yBAAyB;IACzB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE1D,kFAAkF;IAClF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAC/E,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAEtD,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAiB,EAAE,OAA6B;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAKhD,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,YAK5B,CAAC;AA0CF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAgCjF"}
|
package/dist/shared/config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
+
import { getProcsiDir } from "./project.js";
|
|
3
4
|
import { createLogger } from "./logger.js";
|
|
4
5
|
export const DEFAULT_MAX_STORED_REQUESTS = 5000;
|
|
5
6
|
const DEFAULT_MAX_BODY_SIZE = 10 * 1024 * 1024;
|
|
@@ -51,7 +52,7 @@ function validateConfig(raw) {
|
|
|
51
52
|
* if the JSON is malformed or contains invalid values.
|
|
52
53
|
*/
|
|
53
54
|
export function loadConfig(projectRoot, logLevel) {
|
|
54
|
-
const configPath = path.join(projectRoot, "
|
|
55
|
+
const configPath = path.join(getProcsiDir(projectRoot), "config.json");
|
|
55
56
|
if (!fs.existsSync(configPath)) {
|
|
56
57
|
return { ...DEFAULT_CONFIG };
|
|
57
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AAE1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAanC,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,iBAAiB,EAAE,2BAA2B;IAC9C,WAAW,EAAE,qBAAqB;IAClC,UAAU,EAAE,oBAAoB;IAChC,YAAY,EAAE,qBAAqB;CACpC,CAAC;AAEF;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAA4B;IAClD,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,mBAAmB,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,QAAmB;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/shared/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/shared/daemon.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAe5C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB3E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBlF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,QAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GACtC,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAmDD;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBnE"}
|
package/dist/shared/daemon.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as fs from "node:fs";
|
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { getProcsiPaths, readDaemonPid, isProcessRunning, ensureProcsiDir } from "./project.js";
|
|
5
|
+
import { getProcsiPaths, readDaemonPid, isProcessRunning, ensureProcsiDir, getConfigOverride, } from "./project.js";
|
|
6
6
|
import { ControlClient } from "./control-client.js";
|
|
7
7
|
import { getProcsiVersion } from "./version.js";
|
|
8
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -30,6 +30,9 @@ export async function isDaemonRunning(projectRoot) {
|
|
|
30
30
|
try {
|
|
31
31
|
return await client.ping();
|
|
32
32
|
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
33
36
|
finally {
|
|
34
37
|
client.close();
|
|
35
38
|
}
|
|
@@ -113,11 +116,13 @@ async function spawnDaemon(projectRoot, logLevel) {
|
|
|
113
116
|
// Strip NODE_OPTIONS (which contains --require for the preload) and the
|
|
114
117
|
// guard variable so they don't leak into the child.
|
|
115
118
|
const { NODE_OPTIONS: _nodeOpts, PROCSI_ORIG_NODE_OPTIONS: _origNodeOpts, ...cleanEnv } = process.env;
|
|
119
|
+
const configOverride = getConfigOverride();
|
|
116
120
|
const child = spawn("node", [daemonPath], {
|
|
117
121
|
env: {
|
|
118
122
|
...cleanEnv,
|
|
119
123
|
PROJECT_ROOT: projectRoot,
|
|
120
124
|
PROCSI_LOG_LEVEL: logLevel,
|
|
125
|
+
...(configOverride ? { PROCSI_CONFIG: configOverride } : {}),
|
|
121
126
|
},
|
|
122
127
|
detached: true,
|
|
123
128
|
stdio: ["ignore", out, err],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/shared/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/shared/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAChF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAyBnG,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,MAAM;IAQf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IATf,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAGjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,QAAiB,EAChC,OAAO,CAAC,EAAE,aAAa;IAKzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIxD;;;OAGG;IACH,KAAK,IAAI,IAAI;IA8Bb,OAAO,CAAC,GAAG;IAsBX,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;CA+BvB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,QAAiB,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAW7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAEhE"}
|
package/dist/shared/logger.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
+
import { getProcsiDir } from "./project.js";
|
|
3
4
|
const LOG_LEVEL_PRIORITY = {
|
|
4
5
|
silent: -1,
|
|
5
6
|
error: 0,
|
|
@@ -172,7 +173,7 @@ export class Logger {
|
|
|
172
173
|
* Create a logger for a specific component.
|
|
173
174
|
*/
|
|
174
175
|
export function createLogger(component, projectRoot, level = "warn", options) {
|
|
175
|
-
const logFile = path.join(projectRoot, "
|
|
176
|
+
const logFile = path.join(getProcsiDir(projectRoot), "procsi.log");
|
|
176
177
|
return new Logger(component, logFile, level, options);
|
|
177
178
|
}
|
|
178
179
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/project.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export declare function setConfigOverride(dir: string | undefined): void;
|
|
2
|
+
export declare function getConfigOverride(): string | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve an override path, expanding ~ to the user's home directory
|
|
5
|
+
* and converting relative paths to absolute.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveOverridePath(override: string): string;
|
|
1
8
|
/**
|
|
2
9
|
* Find the project root by looking for .procsi directory or .git directory.
|
|
3
10
|
* Walks up the directory tree from the current working directory.
|
|
@@ -14,9 +21,8 @@
|
|
|
14
21
|
export declare function findProjectRoot(startDir?: string, override?: string): string | undefined;
|
|
15
22
|
/**
|
|
16
23
|
* Determine the project root, creating .procsi if needed.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - Otherwise, fall back to the user's home directory (global instance)
|
|
24
|
+
* Delegates to findProjectRoot for consistent traversal, then falls back
|
|
25
|
+
* to the user's home directory (global instance) when no root is found.
|
|
20
26
|
*
|
|
21
27
|
* When override is provided, returns the resolved override path directly
|
|
22
28
|
* (the caller is responsible for creating .procsi as needed).
|
|
@@ -24,6 +30,7 @@ export declare function findProjectRoot(startDir?: string, override?: string): s
|
|
|
24
30
|
export declare function findOrCreateProjectRoot(startDir?: string, override?: string): string;
|
|
25
31
|
/**
|
|
26
32
|
* Get the .procsi directory path for a project root.
|
|
33
|
+
* Returns the config override when set (ignoring projectRoot).
|
|
27
34
|
*/
|
|
28
35
|
export declare function getProcsiDir(projectRoot: string): string;
|
|
29
36
|
/**
|
|
@@ -46,6 +53,7 @@ export declare function getProcsiPaths(projectRoot: string): {
|
|
|
46
53
|
logFile: string;
|
|
47
54
|
configFile: string;
|
|
48
55
|
interceptorsDir: string;
|
|
56
|
+
browserProfilesDir: string;
|
|
49
57
|
proxyPreloadFile: string;
|
|
50
58
|
pythonOverrideDir: string;
|
|
51
59
|
rubyOverrideFile: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/shared/project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/shared/project.ts"],"names":[],"mappings":"AAcA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE/D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,MAAsB,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CA8BpB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,MAAsB,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;EAqBjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAMzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQrD"}
|