tool registry, claude tool awareness, and model selector fix

- Add agent-agnostic tool registry (tool-registry.ts) that discovers tools from disk
- Embed tool-loader extension as platform infrastructure (ensure-tool-loader.ts)
- Inject tool context into Claude prompts on first message
- Add marketplace tool sync (sync-marketplace.ts)
- Fix model selector defaulting to claude-code when no model explicitly selected
- Exclude tool-loader-source.ts from tsconfig (Pi-specific deps)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 11:55:38 +00:00
co-authored by Claude Opus 4.6
parent e97b4b2459
commit 49cd559c8a
8 changed files with 565 additions and 11 deletions
+4 -6
View File
@@ -2,9 +2,8 @@ import { mkdirSync } from 'node:fs';
import { join } from 'node:path';
import { homedir } from 'node:os';
import { DATA_PATH } from './data-path';
import { syncSeedSkills } from './sync-skills';
import { syncSeedTools } from './sync-tools';
import { syncSeedExtensions } from './sync-extensions';
import { syncMarketplaceTools } from './sync-marketplace';
import { ensureToolLoader } from './ensure-tool-loader';
// Queue is now owned by the sidecar process
import { startDiscordBotIfConfigured } from './channels/discord/bot';
import { startTelegramBotIfConfigured } from './channels/telegram/bot';
@@ -68,9 +67,8 @@ async function installPi(): Promise<boolean> {
}
}
syncSeedSkills();
syncSeedTools();
syncSeedExtensions();
await syncMarketplaceTools();
ensureToolLoader();
// Queue is initialized by the sidecar process
await startDiscordBotIfConfigured().catch((err) => {