fix startup packaging and content guardrails
This commit is contained in:
32
scripts/lib/pi-web-access-patch.mjs
Normal file
32
scripts/lib/pi-web-access-patch.mjs
Normal file
@@ -0,0 +1,32 @@
|
||||
export const PI_WEB_ACCESS_PATCH_TARGETS = [
|
||||
"index.ts",
|
||||
"exa.ts",
|
||||
"gemini-api.ts",
|
||||
"gemini-search.ts",
|
||||
"gemini-web.ts",
|
||||
"github-extract.ts",
|
||||
"perplexity.ts",
|
||||
"video-extract.ts",
|
||||
"youtube-extract.ts",
|
||||
];
|
||||
|
||||
const LEGACY_CONFIG_EXPR = 'join(homedir(), ".pi", "web-search.json")';
|
||||
const PATCHED_CONFIG_EXPR =
|
||||
'process.env.FEYNMAN_WEB_SEARCH_CONFIG ?? process.env.PI_WEB_SEARCH_CONFIG ?? join(homedir(), ".pi", "web-search.json")';
|
||||
|
||||
export function patchPiWebAccessSource(relativePath, source) {
|
||||
let patched = source;
|
||||
|
||||
if (patched.includes(PATCHED_CONFIG_EXPR)) {
|
||||
return patched;
|
||||
}
|
||||
|
||||
patched = patched.split(LEGACY_CONFIG_EXPR).join(PATCHED_CONFIG_EXPR);
|
||||
|
||||
if (relativePath === "index.ts" && patched !== source) {
|
||||
patched = patched.replace('import { join } from "node:path";', 'import { dirname, join } from "node:path";');
|
||||
patched = patched.replace('const dir = join(homedir(), ".pi");', "const dir = dirname(WEB_SEARCH_CONFIG_PATH);");
|
||||
}
|
||||
|
||||
return patched;
|
||||
}
|
||||
Reference in New Issue
Block a user