mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-16 10:50:38 +09:00
Refine portability export behavior and skill plans
This commit is contained in:
parent
7e43020a28
commit
b2c0f3f9a5
13 changed files with 1126 additions and 12 deletions
|
|
@ -133,6 +133,7 @@ export type {
|
|||
CompanyPortabilityEnvInput,
|
||||
CompanyPortabilityCompanyManifestEntry,
|
||||
CompanyPortabilityAgentManifestEntry,
|
||||
CompanyPortabilitySkillManifestEntry,
|
||||
CompanyPortabilityProjectManifestEntry,
|
||||
CompanyPortabilityIssueManifestEntry,
|
||||
CompanyPortabilityManifest,
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ export interface CompanyPortabilityAgentManifestEntry {
|
|||
slug: string;
|
||||
name: string;
|
||||
path: string;
|
||||
skills: string[];
|
||||
role: string;
|
||||
title: string | null;
|
||||
icon: string | null;
|
||||
|
|
@ -72,6 +73,23 @@ export interface CompanyPortabilityAgentManifestEntry {
|
|||
metadata: Record<string, unknown> | null;
|
||||
}
|
||||
|
||||
export interface CompanyPortabilitySkillManifestEntry {
|
||||
slug: string;
|
||||
name: string;
|
||||
path: string;
|
||||
description: string | null;
|
||||
sourceType: string;
|
||||
sourceLocator: string | null;
|
||||
sourceRef: string | null;
|
||||
trustLevel: string | null;
|
||||
compatibility: string | null;
|
||||
metadata: Record<string, unknown> | null;
|
||||
fileInventory: Array<{
|
||||
path: string;
|
||||
kind: string;
|
||||
}>;
|
||||
}
|
||||
|
||||
export interface CompanyPortabilityManifest {
|
||||
schemaVersion: number;
|
||||
generatedAt: string;
|
||||
|
|
@ -82,6 +100,7 @@ export interface CompanyPortabilityManifest {
|
|||
includes: CompanyPortabilityInclude;
|
||||
company: CompanyPortabilityCompanyManifestEntry | null;
|
||||
agents: CompanyPortabilityAgentManifestEntry[];
|
||||
skills: CompanyPortabilitySkillManifestEntry[];
|
||||
projects: CompanyPortabilityProjectManifestEntry[];
|
||||
issues: CompanyPortabilityIssueManifestEntry[];
|
||||
envInputs: CompanyPortabilityEnvInput[];
|
||||
|
|
@ -196,4 +215,5 @@ export interface CompanyPortabilityExportRequest {
|
|||
projects?: string[];
|
||||
issues?: string[];
|
||||
projectIssues?: string[];
|
||||
expandReferencedSkills?: boolean;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ export type {
|
|||
CompanyPortabilityEnvInput,
|
||||
CompanyPortabilityCompanyManifestEntry,
|
||||
CompanyPortabilityAgentManifestEntry,
|
||||
CompanyPortabilitySkillManifestEntry,
|
||||
CompanyPortabilityProjectManifestEntry,
|
||||
CompanyPortabilityIssueManifestEntry,
|
||||
CompanyPortabilityManifest,
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ export const portabilityAgentManifestEntrySchema = z.object({
|
|||
slug: z.string().min(1),
|
||||
name: z.string().min(1),
|
||||
path: z.string().min(1),
|
||||
skills: z.array(z.string().min(1)).default([]),
|
||||
role: z.string().min(1),
|
||||
title: z.string().nullable(),
|
||||
icon: z.string().nullable(),
|
||||
|
|
@ -44,6 +45,23 @@ export const portabilityAgentManifestEntrySchema = z.object({
|
|||
metadata: z.record(z.unknown()).nullable(),
|
||||
});
|
||||
|
||||
export const portabilitySkillManifestEntrySchema = z.object({
|
||||
slug: z.string().min(1),
|
||||
name: z.string().min(1),
|
||||
path: z.string().min(1),
|
||||
description: z.string().nullable(),
|
||||
sourceType: z.string().min(1),
|
||||
sourceLocator: z.string().nullable(),
|
||||
sourceRef: z.string().nullable(),
|
||||
trustLevel: z.string().nullable(),
|
||||
compatibility: z.string().nullable(),
|
||||
metadata: z.record(z.unknown()).nullable(),
|
||||
fileInventory: z.array(z.object({
|
||||
path: z.string().min(1),
|
||||
kind: z.string().min(1),
|
||||
})).default([]),
|
||||
});
|
||||
|
||||
export const portabilityProjectManifestEntrySchema = z.object({
|
||||
slug: z.string().min(1),
|
||||
name: z.string().min(1),
|
||||
|
|
@ -93,6 +111,7 @@ export const portabilityManifestSchema = z.object({
|
|||
}),
|
||||
company: portabilityCompanyManifestEntrySchema.nullable(),
|
||||
agents: z.array(portabilityAgentManifestEntrySchema),
|
||||
skills: z.array(portabilitySkillManifestEntrySchema).default([]),
|
||||
projects: z.array(portabilityProjectManifestEntrySchema).default([]),
|
||||
issues: z.array(portabilityIssueManifestEntrySchema).default([]),
|
||||
envInputs: z.array(portabilityEnvInputSchema).default([]),
|
||||
|
|
@ -137,6 +156,7 @@ export const companyPortabilityExportSchema = z.object({
|
|||
projects: z.array(z.string().min(1)).optional(),
|
||||
issues: z.array(z.string().min(1)).optional(),
|
||||
projectIssues: z.array(z.string().min(1)).optional(),
|
||||
expandReferencedSkills: z.boolean().optional(),
|
||||
});
|
||||
|
||||
export type CompanyPortabilityExport = z.infer<typeof companyPortabilityExportSchema>;
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ export {
|
|||
portabilityEnvInputSchema,
|
||||
portabilityCompanyManifestEntrySchema,
|
||||
portabilityAgentManifestEntrySchema,
|
||||
portabilitySkillManifestEntrySchema,
|
||||
portabilityManifestSchema,
|
||||
portabilitySourceSchema,
|
||||
portabilityTargetSchema,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue