feat(websearch): inject hooks on profile creation

Add hook injection at profile creation time (not just runtime):
- profile-writer.ts: inject on API profile create/update
- variant-settings.ts: inject on CLIProxy variant create

Hooks now present immediately after profile creation.
This commit is contained in:
kaitranntt
2026-01-25 21:31:20 -05:00
parent 21b18d0c4e
commit fca8dbd6cf
2 changed files with 15 additions and 0 deletions
+8
View File
@@ -12,6 +12,7 @@ import {
saveUnifiedConfig,
isUnifiedMode,
} from '../../config/unified-config-loader';
import { ensureProfileHooks } from '../../utils/websearch/profile-hook-injector';
import type { ModelMapping, CreateApiProfileResult, RemoveApiProfileResult } from './profile-types';
/** Check if URL is an OpenRouter endpoint */
@@ -43,6 +44,10 @@ function createSettingsFile(
};
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf8');
// Inject WebSearch hooks into profile settings
ensureProfileHooks(name);
return settingsPath;
}
@@ -101,6 +106,9 @@ function createApiProfileUnified(
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf8');
// Inject WebSearch hooks into profile settings
ensureProfileHooks(name);
const config = loadOrCreateUnifiedConfig();
config.profiles[name] = {
type: 'api',
@@ -13,6 +13,7 @@ import { getCcsDir } from '../../utils/config-manager';
import { expandPath } from '../../utils/helpers';
import { getClaudeEnvVars, CLIPROXY_DEFAULT_PORT } from '../config-generator';
import { CLIProxyProvider } from '../types';
import { ensureProfileHooks } from '../../utils/websearch/profile-hook-injector';
/** Environment settings structure */
interface SettingsEnv {
@@ -105,6 +106,9 @@ export function createSettingsFile(
ensureDir(ccsDir);
writeSettings(settingsPath, settings);
// Inject WebSearch hooks into variant settings
ensureProfileHooks(`${provider}-${name}`);
return settingsPath;
}
@@ -127,6 +131,9 @@ export function createSettingsFileUnified(
ensureDir(ccsDir);
writeSettings(settingsPath, settings);
// Inject WebSearch hooks into variant settings
ensureProfileHooks(`${provider}-${name}`);
return settingsPath;
}