File size: 844 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 25 26 | /**
* `sessionSkillCatalog` — the session-merged skill catalog. Mirrors
* `agent-core-v2/features/skill/session/skillCatalog.ts` (the thin
* `list()` method; the `catalog` / `ready` properties and the sink interface
* are not wire methods). `SkillSummary` mirrors
* `agent-core-v2/features/skill/catalog/types.ts`.
*/
import { z } from 'zod';
import type { ServiceContract } from '../types.js';
export const skillSummarySchema = z.object({
name: z.string(),
description: z.string(),
path: z.string(),
source: z.enum(['project', 'user', 'extra', 'builtin']),
type: z.string().optional(),
disableModelInvocation: z.boolean().optional(),
isSubSkill: z.boolean().optional(),
});
export const sessionSkillCatalogContract = {
list: { input: z.tuple([]), output: z.array(skillSummarySchema) },
} satisfies ServiceContract;
|