File size: 586 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /**
* `sessionTitleService` — on-demand session title generation. Mirrors
* `agent-core-v2/session/sessionTitle/sessionTitle.ts`.
*/
import { z } from 'zod';
import { maybe } from '../helpers.js';
import type { ServiceContract } from '../types.js';
export const sessionTitleContract = {
generateTitle: {
input: z.tuple([
z
.object({
force: z.boolean().optional(),
source: z.enum(['user_prompts', 'first_turn', 'digest']).optional(),
})
.optional(),
]),
output: maybe(z.string()),
},
} satisfies ServiceContract;
|