Refine codex runtime skills and portability assets

This commit is contained in:
dotta
2026-03-19 07:15:36 -05:00
parent 01afa92424
commit b4e06c63e2
12 changed files with 277 additions and 205 deletions

View File

@@ -231,6 +231,7 @@ export type {
InstanceUserRoleGrant,
CompanyPortabilityInclude,
CompanyPortabilityEnvInput,
CompanyPortabilityFileEntry,
CompanyPortabilityCompanyManifestEntry,
CompanyPortabilityAgentManifestEntry,
CompanyPortabilitySkillManifestEntry,

View File

@@ -15,11 +15,20 @@ export interface CompanyPortabilityEnvInput {
portability: "portable" | "system_dependent";
}
export type CompanyPortabilityFileEntry =
| string
| {
encoding: "base64";
data: string;
contentType?: string | null;
};
export interface CompanyPortabilityCompanyManifestEntry {
path: string;
name: string;
description: string | null;
brandColor: string | null;
logoPath: string | null;
requireBoardApprovalForNewAgents: boolean;
}
@@ -110,7 +119,7 @@ export interface CompanyPortabilityManifest {
export interface CompanyPortabilityExportResult {
rootPath: string;
manifest: CompanyPortabilityManifest;
files: Record<string, string>;
files: Record<string, CompanyPortabilityFileEntry>;
warnings: string[];
paperclipExtensionPath: string;
}
@@ -123,7 +132,7 @@ export interface CompanyPortabilityExportPreviewFile {
export interface CompanyPortabilityExportPreviewResult {
rootPath: string;
manifest: CompanyPortabilityManifest;
files: Record<string, string>;
files: Record<string, CompanyPortabilityFileEntry>;
fileInventory: CompanyPortabilityExportPreviewFile[];
counts: {
files: number;
@@ -140,7 +149,7 @@ export type CompanyPortabilitySource =
| {
type: "inline";
rootPath?: string | null;
files: Record<string, string>;
files: Record<string, CompanyPortabilityFileEntry>;
}
| {
type: "github";
@@ -207,7 +216,7 @@ export interface CompanyPortabilityPreviewResult {
issuePlans: CompanyPortabilityPreviewIssuePlan[];
};
manifest: CompanyPortabilityManifest;
files: Record<string, string>;
files: Record<string, CompanyPortabilityFileEntry>;
envInputs: CompanyPortabilityEnvInput[];
warnings: string[];
errors: string[];

View File

@@ -129,6 +129,7 @@ export type { QuotaWindow, ProviderQuotaResult } from "./quota.js";
export type {
CompanyPortabilityInclude,
CompanyPortabilityEnvInput,
CompanyPortabilityFileEntry,
CompanyPortabilityCompanyManifestEntry,
CompanyPortabilityAgentManifestEntry,
CompanyPortabilitySkillManifestEntry,

View File

@@ -19,11 +19,21 @@ export const portabilityEnvInputSchema = z.object({
portability: z.enum(["portable", "system_dependent"]),
});
export const portabilityFileEntrySchema = z.union([
z.string(),
z.object({
encoding: z.literal("base64"),
data: z.string(),
contentType: z.string().min(1).optional().nullable(),
}),
]);
export const portabilityCompanyManifestEntrySchema = z.object({
path: z.string().min(1),
name: z.string().min(1),
description: z.string().nullable(),
brandColor: z.string().nullable(),
logoPath: z.string().nullable(),
requireBoardApprovalForNewAgents: z.boolean(),
});
@@ -122,7 +132,7 @@ export const portabilitySourceSchema = z.discriminatedUnion("type", [
z.object({
type: z.literal("inline"),
rootPath: z.string().min(1).optional().nullable(),
files: z.record(z.string()),
files: z.record(portabilityFileEntrySchema),
}),
z.object({
type: z.literal("github"),