single source of truth for pi config via ~/.pi/agent
auth.json stores api keys, models.json stores local providers directly. no more copies, sync layers, or per-user config generation. docker containers mount pi config read-only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,5 @@
|
||||
import { mkdirSync, existsSync, copyFileSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
import { homedir } from 'node:os';
|
||||
import { DATA_PATH, PI_CONFIG_DIR } from './data-path';
|
||||
import { syncLocalProvidersToPiConfig } from './api/server-settings/sync-pi-config';
|
||||
import { syncAllUserPiConfigs } from './api/server-settings/sync-user-pi-config';
|
||||
import { mkdirSync } from 'node:fs';
|
||||
import { DATA_PATH } from './data-path';
|
||||
import { syncSeedSkills } from './sync-skills';
|
||||
import { syncSeedTools } from './sync-tools';
|
||||
import { syncSeedExtensions } from './sync-extensions';
|
||||
@@ -13,7 +9,6 @@ import { generateResourceSkill } from './api/pi/pi-bridge';
|
||||
import { initQueue } from './queue';
|
||||
|
||||
mkdirSync(DATA_PATH, { recursive: true });
|
||||
mkdirSync(PI_CONFIG_DIR, { recursive: true });
|
||||
|
||||
async function ensurePiInstalled(): Promise<boolean> {
|
||||
try {
|
||||
@@ -46,22 +41,6 @@ async function installPi(): Promise<boolean> {
|
||||
}
|
||||
}
|
||||
|
||||
function seedPiConfig(): void {
|
||||
const hostPiDir = join(homedir(), '.pi', 'agent');
|
||||
const filesToCopy = ['models.json', 'settings.json'];
|
||||
|
||||
for (const file of filesToCopy) {
|
||||
const target = join(PI_CONFIG_DIR, file);
|
||||
if (existsSync(target)) continue;
|
||||
|
||||
const source = join(hostPiDir, file);
|
||||
if (existsSync(source)) {
|
||||
copyFileSync(source, target);
|
||||
console.log(`[bootstrap] Seeded ${file} from host Pi config`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const installed = await ensurePiInstalled();
|
||||
if (!installed) {
|
||||
@@ -72,7 +51,6 @@ function seedPiConfig(): void {
|
||||
}
|
||||
}
|
||||
|
||||
seedPiConfig();
|
||||
syncSeedSkills();
|
||||
syncSeedTools();
|
||||
syncSeedExtensions();
|
||||
@@ -80,14 +58,6 @@ function seedPiConfig(): void {
|
||||
await migrateSettingsToResources();
|
||||
generateResourceSkill(DATA_PATH);
|
||||
|
||||
await syncLocalProvidersToPiConfig().catch(err => {
|
||||
console.error('[bootstrap] Failed to sync local providers to Pi config:', err);
|
||||
});
|
||||
|
||||
await syncAllUserPiConfigs().catch(err => {
|
||||
console.error('[bootstrap] Failed to sync user Pi configs:', err);
|
||||
});
|
||||
|
||||
await initQueue().catch(err => {
|
||||
console.error('[bootstrap] Failed to initialize queue:', err);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user