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

@@ -9,7 +9,8 @@ export type AgentSkillState =
| "external";
export interface AgentSkillEntry {
name: string;
key: string;
runtimeName: string | null;
desired: boolean;
managed: boolean;
required?: boolean;

View File

@@ -74,6 +74,7 @@ export interface CompanyPortabilityAgentManifestEntry {
}
export interface CompanyPortabilitySkillManifestEntry {
key: string;
slug: string;
name: string;
path: string;

View File

@@ -14,6 +14,7 @@ export interface CompanySkillFileInventoryEntry {
export interface CompanySkill {
id: string;
companyId: string;
key: string;
slug: string;
name: string;
description: string | null;
@@ -32,6 +33,7 @@ export interface CompanySkill {
export interface CompanySkillListItem {
id: string;
companyId: string;
key: string;
slug: string;
name: string;
description: string | null;

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(),