diff --git a/packages/skills-catalog/src/catalog-builder.ts b/packages/skills-catalog/src/catalog-builder.ts index 1c9910ae..890b3d5b 100644 --- a/packages/skills-catalog/src/catalog-builder.ts +++ b/packages/skills-catalog/src/catalog-builder.ts @@ -462,7 +462,7 @@ function buildCatalogSkillSource( } const hostname = descriptor.hostname ?? "github.com"; const url = `https://${hostname}/${descriptor.owner}/${descriptor.repo}/tree/${descriptor.ref}/${sourcePath ?? ""}`.replace(/\/$/, ""); - if (errors.length > 0 && (!/^[0-9a-f]{40}$/i.test(descriptor.commit) || sourcePath === null)) return null; + if (!/^[0-9a-f]{40}$/i.test(descriptor.commit) || sourcePath === null) return null; return { type: "github", hostname, diff --git a/server/src/services/company-skills.ts b/server/src/services/company-skills.ts index c25e29d5..d6ea33a3 100644 --- a/server/src/services/company-skills.ts +++ b/server/src/services/company-skills.ts @@ -3048,6 +3048,7 @@ export function companySkillService(db: Db) { let materializedDir: string | null = null; let originSnapshotLocator: string | null = null; + let candidateMaterializedDir: string | null = null; try { originSnapshotLocator = await materializeCatalogOriginSnapshot(companyId, catalogSkill, slug); const candidateAudit = await auditCatalogSkillSnapshot(companyId, catalogSkill, slug, originSnapshotLocator); @@ -3057,9 +3058,12 @@ export function companySkillService(db: Db) { audit: candidateAudit, }); } - materializedDir = await materializeCatalogManifestSkillFiles(companyId, catalogSkill, slug); + candidateMaterializedDir = await materializeCatalogManifestSkillFiles(companyId, catalogSkill, slug); + materializedDir = candidateMaterializedDir; } catch (error) { - if (materializedDir) await fs.rm(materializedDir, { recursive: true, force: true }).catch(() => undefined); + if (candidateMaterializedDir) { + await fs.rm(candidateMaterializedDir, { recursive: true, force: true }).catch(() => undefined); + } if (originSnapshotLocator) await fs.rm(originSnapshotLocator, { recursive: true, force: true }).catch(() => undefined); throw error; }