773
const session = resolveKnownSession(sessionInput, sessions);
774
if (!session) {
775
>
throw new Error(`Invalid ${getSessionContextToolName} input: session must match the URI of a known session (see list_sessions).`);
sessionServerTools.ts
776
>
}
777
let detail: SessionContextDetail = 'summary';
778
if (args.detail !== undefined) {
779
>
if (typeof args.detail !== 'string' || !(sessionContextDetailValues as readonly string[]).includes(args.detail)) {
sessionServerTools.ts
780
>
throw new Error(`Invalid ${getSessionContextToolName} input: detail must be one of ${sessionContextDetailValues.join(', ')}.`);
781
>
}
782
detail = args.detail as SessionContextDetail;
783
}
784
let transcriptLimit = defaultTranscriptLimit;
785
if (args.transcriptLimit !== undefined) {
786
>
if (typeof args.transcriptLimit !== 'number' || !Number.isFinite(args.transcriptLimit) || args.transcriptLimit < 1) {
sessionServerTools.ts
787
throw new Error(`Invalid ${getSessionContextToolName} input: transcriptLimit must be a positive number.`);
788
}
789
>
transcriptLimit = Math.min(Math.floor(args.transcriptLimit), maxTranscriptLimit);
sessionServerTools.ts
790
>
}
791
const chatId = parseOpenSessionLinkChatId(sessionInput);
792
return { session, detail, transcriptLimit, ...(chatId !== undefined ? { chatId } : {}) };