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:
@@ -9,7 +9,8 @@ export type AgentSkillState =
|
||||
| "external";
|
||||
|
||||
export interface AgentSkillEntry {
|
||||
name: string;
|
||||
key: string;
|
||||
runtimeName: string | null;
|
||||
desired: boolean;
|
||||
managed: boolean;
|
||||
required?: boolean;
|
||||
|
||||
@@ -74,6 +74,7 @@ export interface CompanyPortabilityAgentManifestEntry {
|
||||
}
|
||||
|
||||
export interface CompanyPortabilitySkillManifestEntry {
|
||||
key: string;
|
||||
slug: string;
|
||||
name: string;
|
||||
path: string;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user