Archived
refactor: generate session names via agent.streamFn instead of pi-ai compat
Rewrite sessionNameGenerator.ts to consume a StreamFn-shaped dependency (sourced from PiAgentSession.agent.streamFn, wired in leg B) instead of ModelRegistry plus a dynamic @earendil-works/pi-ai/compat import. streamFn resolves auth/headers/retry internally, so the explicit modelRegistry.getApiKeyAndHeaders(model) call and apiKey/headers stream options are no longer needed. Deletes now-dead compat-loading machinery: getPiAiProviderRegistryModule, loadPiAiProviderRegistryModule, importOptionalPiAiModule, isModuleUnavailableError, hasGetApiProvider, PI_AI_COMPAT_MODULE, ModuleImporter, SessionNameApiProvider, PiAiProviderRegistryModule, and the module-level provider registry cache. Updates the maybeGenerateSessionName call site in piSessionService.ts to pass session.agent.streamFn instead of this.modelRegistry, and updates both test files: sessionNameGenerator.test.ts gains coverage for the new streamFn-driven generateShortSessionName signature (success and error paths), and piSessionService.test.ts gains an end-to-end test proving a first prompt generates a session name through the wired agent.streamFn fake. sessionNameGenerator.ts no longer imports @earendil-works/pi-ai/compat or references getApiProvider anywhere.
This commit is contained in:
@@ -1707,7 +1707,7 @@ export class PiSessionService {
|
||||
const model = session.model;
|
||||
if (model === undefined) return;
|
||||
|
||||
void generateShortSessionName(this.modelRegistry, model, firstMessage).then((name) => {
|
||||
void generateShortSessionName(session.agent.streamFn, model, firstMessage).then((name) => {
|
||||
this.applyGeneratedSessionName(session, name ?? fallbackSessionName(firstMessage));
|
||||
}).catch(() => {
|
||||
this.applyGeneratedSessionName(session, fallbackSessionName(firstMessage));
|
||||
|
||||
Reference in New Issue
Block a user