Namespace company skill identities

Persist canonical namespaced skill keys, split adapter runtime names from skill keys, and update portability/import flows to carry the canonical identity end-to-end.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Dotta 2026-03-16 18:27:20 -05:00
parent bb46423969
commit 5890b318c4
39 changed files with 9902 additions and 309 deletions

View file

@ -16,7 +16,8 @@ export const agentSkillSyncModeSchema = z.enum([
]);
export const agentSkillEntrySchema = z.object({
name: z.string().min(1),
key: z.string().min(1),
runtimeName: z.string().min(1).nullable(),
desired: z.boolean(),
managed: z.boolean(),
required: z.boolean().optional(),

View file

@ -46,6 +46,7 @@ export const portabilityAgentManifestEntrySchema = z.object({
});
export const portabilitySkillManifestEntrySchema = z.object({
key: z.string().min(1),
slug: z.string().min(1),
name: z.string().min(1),
path: z.string().min(1),

View file

@ -13,6 +13,7 @@ export const companySkillFileInventoryEntrySchema = z.object({
export const companySkillSchema = z.object({
id: z.string().uuid(),
companyId: z.string().uuid(),
key: z.string().min(1),
slug: z.string().min(1),
name: z.string().min(1),
description: z.string().nullable(),