feat: add skill pack management features including creation, editing, and syncing

This commit is contained in:
Abhimanyu Saharan
2026-02-14 02:05:11 +05:30
committed by Abhimanyu Saharan
parent 88565f4d69
commit a7e1e5cbf4
28 changed files with 4403 additions and 430 deletions

View File

@@ -21,6 +21,14 @@ class MarketplaceSkillCreate(SQLModel):
description: str | None = None
class SkillPackCreate(SQLModel):
"""Payload used to register a pack URL in the organization."""
source_url: AnyHttpUrl
name: NonEmptyStr | None = None
description: str | None = None
class MarketplaceSkillRead(SQLModel):
"""Serialized marketplace skill catalog record."""
@@ -28,11 +36,27 @@ class MarketplaceSkillRead(SQLModel):
organization_id: UUID
name: str
description: str | None = None
category: str | None = None
risk: str | None = None
source: str | None = None
source_url: str
created_at: datetime
updated_at: datetime
class SkillPackRead(SQLModel):
"""Serialized skill pack record."""
id: UUID
organization_id: UUID
name: str
description: str | None = None
source_url: str
skill_count: int = 0
created_at: datetime
updated_at: datetime
class MarketplaceSkillCardRead(MarketplaceSkillRead):
"""Marketplace card payload with gateway-specific install state."""
@@ -47,3 +71,13 @@ class MarketplaceSkillActionResponse(SQLModel):
skill_id: UUID
gateway_id: UUID
installed: bool
class SkillPackSyncResponse(SQLModel):
"""Pack sync summary payload."""
ok: bool = True
pack_id: UUID
synced: int
created: int
updated: int