73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
import { z } from "zod";
|
|
|
|
export const agentSkillStateSchema = z.enum([
|
|
"available",
|
|
"configured",
|
|
"installed",
|
|
"missing",
|
|
"stale",
|
|
"external",
|
|
]);
|
|
|
|
export const agentSkillOriginSchema = z.enum([
|
|
"company_managed",
|
|
"user_installed",
|
|
"external_unknown",
|
|
]);
|
|
|
|
export const agentSkillSyncModeSchema = z.enum([
|
|
"unsupported",
|
|
"persistent",
|
|
"ephemeral",
|
|
]);
|
|
|
|
export const agentSkillAssignmentModeSchema = z.enum([
|
|
"add",
|
|
"remove",
|
|
"replace",
|
|
]);
|
|
|
|
export const agentDesiredSkillEntrySchema = z.object({
|
|
key: z.string().min(1),
|
|
versionId: z.string().guid().nullable(),
|
|
});
|
|
|
|
export const agentDesiredSkillSelectionSchema = z.union([
|
|
z.string().min(1),
|
|
agentDesiredSkillEntrySchema,
|
|
]);
|
|
|
|
export const agentSkillEntrySchema = z.object({
|
|
key: z.string().min(1),
|
|
runtimeName: z.string().min(1).nullable(),
|
|
versionId: z.string().guid().nullable().optional(),
|
|
currentVersionId: z.string().guid().nullable().optional(),
|
|
desired: z.boolean(),
|
|
managed: z.boolean(),
|
|
state: agentSkillStateSchema,
|
|
origin: agentSkillOriginSchema.optional(),
|
|
originLabel: z.string().nullable().optional(),
|
|
locationLabel: z.string().nullable().optional(),
|
|
readOnly: z.boolean().optional(),
|
|
sourcePath: z.string().nullable().optional(),
|
|
targetPath: z.string().nullable().optional(),
|
|
detail: z.string().nullable().optional(),
|
|
});
|
|
|
|
export const agentSkillSnapshotSchema = z.object({
|
|
adapterType: z.string().min(1),
|
|
supported: z.boolean(),
|
|
mode: agentSkillSyncModeSchema,
|
|
desiredSkills: z.array(z.string().min(1)),
|
|
desiredSkillEntries: z.array(agentDesiredSkillEntrySchema).optional(),
|
|
entries: z.array(agentSkillEntrySchema),
|
|
warnings: z.array(z.string()),
|
|
});
|
|
|
|
export const agentSkillSyncSchema = z.object({
|
|
mode: agentSkillAssignmentModeSchema,
|
|
desiredSkills: z.array(agentDesiredSkillSelectionSchema),
|
|
});
|
|
|
|
export type AgentSkillSync = z.infer<typeof agentSkillSyncSchema>;
|