@nimblebrain/mpak-schemas
Advanced tools
+464
-374
@@ -27,4 +27,8 @@ "use strict"; | ||
| BundleDetailSchema: () => BundleDetailSchema, | ||
| BundleDownloadParamsSchema: () => BundleDownloadParamsSchema, | ||
| BundleSchema: () => BundleSchema, | ||
| BundleSearchParamsSchema: () => BundleSearchParamsSchema, | ||
| BundleSearchResponseSchema: () => BundleSearchResponseSchema, | ||
| CacheMetadataSchema: () => CacheMetadataSchema, | ||
| CapabilitySchema: () => CapabilitySchema, | ||
| CertificationSchema: () => CertificationSchema, | ||
@@ -41,2 +45,6 @@ ClaimResponseSchema: () => ClaimResponseSchema, | ||
| MPAK_SCHEMA_VERSION: () => MPAK_SCHEMA_VERSION, | ||
| ManifestAuthorSchema: () => ManifestAuthorSchema, | ||
| ManifestServerSchema: () => ManifestServerSchema, | ||
| McpConfigSchema: () => McpConfigSchema, | ||
| McpbManifestSchema: () => McpbManifestSchema, | ||
| MpakJsonSchema: () => MpakJsonSchema, | ||
@@ -81,2 +89,3 @@ MyPackagesResponseSchema: () => MyPackagesResponseSchema, | ||
| UnclaimedPackagesResponseSchema: () => UnclaimedPackagesResponseSchema, | ||
| UserConfigFieldSchema: () => UserConfigFieldSchema, | ||
| UserProfileSchema: () => UserProfileSchema, | ||
@@ -109,347 +118,412 @@ VersionDetailSchema: () => VersionDetailSchema, | ||
| // src/package.ts | ||
| var import_zod2 = require("zod"); | ||
| // src/manifest.ts | ||
| var import_zod = require("zod"); | ||
| var ServerTypeSchema = import_zod.z.enum(["node", "python", "binary"]); | ||
| var PlatformSchema = import_zod.z.enum(["darwin", "win32", "linux"]); | ||
| var PackageSortSchema = import_zod.z.enum(["downloads", "recent", "name"]); | ||
| var PackageSearchParamsSchema = import_zod.z.object({ | ||
| q: import_zod.z.string().optional(), | ||
| var ServerTypeSchema = import_zod.z.enum(["node", "python", "binary", "uv"]); | ||
| var UserConfigFieldSchema = import_zod.z.object({ | ||
| type: import_zod.z.enum(["string", "number", "boolean"]), | ||
| title: import_zod.z.string().optional(), | ||
| description: import_zod.z.string().optional(), | ||
| sensitive: import_zod.z.boolean().optional(), | ||
| required: import_zod.z.boolean().optional(), | ||
| default: import_zod.z.union([import_zod.z.string(), import_zod.z.number(), import_zod.z.boolean()]).optional() | ||
| }); | ||
| var McpConfigSchema = import_zod.z.object({ | ||
| command: import_zod.z.string(), | ||
| args: import_zod.z.array(import_zod.z.string()), | ||
| env: import_zod.z.record(import_zod.z.string(), import_zod.z.string()).optional() | ||
| }); | ||
| var ManifestAuthorSchema = import_zod.z.object({ | ||
| name: import_zod.z.string(), | ||
| email: import_zod.z.string().optional(), | ||
| url: import_zod.z.string().optional() | ||
| }); | ||
| var ManifestServerSchema = import_zod.z.object({ | ||
| type: ServerTypeSchema, | ||
| entry_point: import_zod.z.string(), | ||
| mcp_config: McpConfigSchema | ||
| }); | ||
| var CapabilitySchema = import_zod.z.object({ | ||
| name: import_zod.z.string(), | ||
| description: import_zod.z.string().optional() | ||
| }); | ||
| var McpbManifestSchema = import_zod.z.object({ | ||
| manifest_version: import_zod.z.string(), | ||
| name: import_zod.z.string(), | ||
| version: import_zod.z.string(), | ||
| description: import_zod.z.string(), | ||
| display_name: import_zod.z.string().optional(), | ||
| author: ManifestAuthorSchema.optional(), | ||
| homepage: import_zod.z.string().optional(), | ||
| license: import_zod.z.string().optional(), | ||
| icon: import_zod.z.string().optional(), | ||
| repository: import_zod.z.object({ | ||
| type: import_zod.z.string().optional(), | ||
| url: import_zod.z.string().optional() | ||
| }).optional(), | ||
| user_config: import_zod.z.record(import_zod.z.string(), UserConfigFieldSchema).optional(), | ||
| server: ManifestServerSchema, | ||
| tools: import_zod.z.array(CapabilitySchema).optional(), | ||
| prompts: import_zod.z.array(CapabilitySchema).optional(), | ||
| resources: import_zod.z.array(CapabilitySchema).optional(), | ||
| _meta: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional() | ||
| }); | ||
| // src/package.ts | ||
| var PlatformSchema = import_zod2.z.enum(["darwin", "win32", "linux"]); | ||
| var PackageSortSchema = import_zod2.z.enum(["downloads", "recent", "name"]); | ||
| var PackageSearchParamsSchema = import_zod2.z.object({ | ||
| q: import_zod2.z.string().optional(), | ||
| type: ServerTypeSchema.optional(), | ||
| tool: import_zod.z.string().optional(), | ||
| prompt: import_zod.z.string().optional(), | ||
| tool: import_zod2.z.string().optional(), | ||
| prompt: import_zod2.z.string().optional(), | ||
| platform: PlatformSchema.optional(), | ||
| sort: PackageSortSchema.optional(), | ||
| limit: import_zod.z.union([import_zod.z.string(), import_zod.z.number()]).optional(), | ||
| offset: import_zod.z.union([import_zod.z.string(), import_zod.z.number()]).optional() | ||
| limit: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.number()]).optional(), | ||
| offset: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.number()]).optional() | ||
| }); | ||
| var BundleSearchParamsSchema = import_zod2.z.object({ | ||
| q: import_zod2.z.string().max(200).optional(), | ||
| type: ServerTypeSchema.optional(), | ||
| sort: PackageSortSchema.optional().default("downloads"), | ||
| limit: import_zod2.z.number().min(1).max(100).optional().default(20), | ||
| offset: import_zod2.z.number().min(0).optional().default(0) | ||
| }); | ||
| var BundleDownloadParamsSchema = import_zod2.z.object({ | ||
| os: import_zod2.z.enum(["darwin", "linux", "win32"]).describe("Target OS (darwin, linux, win32)").optional(), | ||
| arch: import_zod2.z.enum(["x64", "arm64"]).describe("Target arch (x64, arm64)").optional() | ||
| }); | ||
| // src/api-responses.ts | ||
| var import_zod2 = require("zod"); | ||
| var PackageAuthorSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string() | ||
| var import_zod3 = require("zod"); | ||
| var PackageAuthorSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string() | ||
| }); | ||
| var PackageToolSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| description: import_zod2.z.string().optional() | ||
| var PackageToolSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| description: import_zod3.z.string().optional() | ||
| }); | ||
| var PackageGitHubSchema = import_zod2.z.object({ | ||
| repo: import_zod2.z.string(), | ||
| stars: import_zod2.z.number().nullable(), | ||
| forks: import_zod2.z.number().nullable(), | ||
| watchers: import_zod2.z.number().nullable(), | ||
| updated_at: import_zod2.z.string().nullable().optional() | ||
| var PackageGitHubSchema = import_zod3.z.object({ | ||
| repo: import_zod3.z.string(), | ||
| stars: import_zod3.z.number().nullable(), | ||
| forks: import_zod3.z.number().nullable(), | ||
| watchers: import_zod3.z.number().nullable(), | ||
| updated_at: import_zod3.z.string().nullable().optional() | ||
| }); | ||
| var PaginationSchema = import_zod2.z.object({ | ||
| limit: import_zod2.z.number(), | ||
| offset: import_zod2.z.number(), | ||
| has_more: import_zod2.z.boolean() | ||
| var PaginationSchema = import_zod3.z.object({ | ||
| limit: import_zod3.z.number(), | ||
| offset: import_zod3.z.number(), | ||
| has_more: import_zod3.z.boolean() | ||
| }); | ||
| var PackageSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| display_name: import_zod2.z.string().nullable(), | ||
| description: import_zod2.z.string().nullable(), | ||
| var PackageSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| display_name: import_zod3.z.string().nullable(), | ||
| description: import_zod3.z.string().nullable(), | ||
| author: PackageAuthorSchema.nullable(), | ||
| latest_version: import_zod2.z.string(), | ||
| icon: import_zod2.z.string().nullable(), | ||
| server_type: import_zod2.z.string(), | ||
| tools: import_zod2.z.array(PackageToolSchema), | ||
| downloads: import_zod2.z.number(), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| verified: import_zod2.z.boolean(), | ||
| claimable: import_zod2.z.boolean().optional(), | ||
| claimed: import_zod2.z.boolean().optional(), | ||
| latest_version: import_zod3.z.string(), | ||
| icon: import_zod3.z.string().nullable(), | ||
| server_type: import_zod3.z.string(), | ||
| tools: import_zod3.z.array(PackageToolSchema), | ||
| downloads: import_zod3.z.number(), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| verified: import_zod3.z.boolean(), | ||
| claimable: import_zod3.z.boolean().optional(), | ||
| claimed: import_zod3.z.boolean().optional(), | ||
| github: PackageGitHubSchema.nullable().optional(), | ||
| certification_level: import_zod2.z.number().nullable().optional() | ||
| certification_level: import_zod3.z.number().nullable().optional() | ||
| }); | ||
| var ArtifactSchema = import_zod2.z.object({ | ||
| os: import_zod2.z.string(), | ||
| arch: import_zod2.z.string(), | ||
| size_bytes: import_zod2.z.number(), | ||
| digest: import_zod2.z.string(), | ||
| downloads: import_zod2.z.number() | ||
| var ArtifactSchema = import_zod3.z.object({ | ||
| os: import_zod3.z.string(), | ||
| arch: import_zod3.z.string(), | ||
| size_bytes: import_zod3.z.number(), | ||
| digest: import_zod3.z.string(), | ||
| downloads: import_zod3.z.number() | ||
| }); | ||
| var ProvenanceSchema = import_zod2.z.object({ | ||
| publish_method: import_zod2.z.string().nullable(), | ||
| repository: import_zod2.z.string().nullable(), | ||
| sha: import_zod2.z.string().nullable() | ||
| var ProvenanceSchema = import_zod3.z.object({ | ||
| publish_method: import_zod3.z.string().nullable(), | ||
| repository: import_zod3.z.string().nullable(), | ||
| sha: import_zod3.z.string().nullable() | ||
| }); | ||
| var CertificationSchema = import_zod2.z.object({ | ||
| level: import_zod2.z.number().nullable(), | ||
| level_name: import_zod2.z.string().nullable(), | ||
| controls_passed: import_zod2.z.number().nullable(), | ||
| controls_failed: import_zod2.z.number().nullable(), | ||
| controls_total: import_zod2.z.number().nullable() | ||
| var CertificationSchema = import_zod3.z.object({ | ||
| level: import_zod3.z.number().nullable(), | ||
| level_name: import_zod3.z.string().nullable(), | ||
| controls_passed: import_zod3.z.number().nullable(), | ||
| controls_failed: import_zod3.z.number().nullable(), | ||
| controls_total: import_zod3.z.number().nullable() | ||
| }); | ||
| var ScorecardFindingSchema = import_zod2.z.object({ | ||
| id: import_zod2.z.string(), | ||
| control: import_zod2.z.string(), | ||
| severity: import_zod2.z.enum(["critical", "high", "medium", "low", "info"]), | ||
| title: import_zod2.z.string(), | ||
| description: import_zod2.z.string(), | ||
| file: import_zod2.z.string().nullable(), | ||
| line: import_zod2.z.number().nullable(), | ||
| remediation: import_zod2.z.string().nullable() | ||
| var ScorecardFindingSchema = import_zod3.z.object({ | ||
| id: import_zod3.z.string(), | ||
| control: import_zod3.z.string(), | ||
| severity: import_zod3.z.enum(["critical", "high", "medium", "low", "info"]), | ||
| title: import_zod3.z.string(), | ||
| description: import_zod3.z.string(), | ||
| file: import_zod3.z.string().nullable(), | ||
| line: import_zod3.z.number().nullable(), | ||
| remediation: import_zod3.z.string().nullable() | ||
| }); | ||
| var DomainControlSchema = import_zod2.z.object({ | ||
| status: import_zod2.z.enum(["pass", "fail", "skip", "error"]), | ||
| name: import_zod2.z.string(), | ||
| findings_count: import_zod2.z.number() | ||
| var DomainControlSchema = import_zod3.z.object({ | ||
| status: import_zod3.z.enum(["pass", "fail", "skip", "error"]), | ||
| name: import_zod3.z.string(), | ||
| findings_count: import_zod3.z.number() | ||
| }); | ||
| var SecurityDomainSchema = import_zod2.z.object({ | ||
| display_name: import_zod2.z.string(), | ||
| controls_passed: import_zod2.z.number(), | ||
| controls_total: import_zod2.z.number(), | ||
| controls: import_zod2.z.record(import_zod2.z.string(), DomainControlSchema) | ||
| var SecurityDomainSchema = import_zod3.z.object({ | ||
| display_name: import_zod3.z.string(), | ||
| controls_passed: import_zod3.z.number(), | ||
| controls_total: import_zod3.z.number(), | ||
| controls: import_zod3.z.record(import_zod3.z.string(), DomainControlSchema) | ||
| }); | ||
| var SecurityScanSchema = import_zod2.z.object({ | ||
| status: import_zod2.z.enum(["pending", "scanning", "completed", "failed"]), | ||
| risk_score: import_zod2.z.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]).nullable(), | ||
| scanned_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]).nullable(), | ||
| var SecurityScanSchema = import_zod3.z.object({ | ||
| status: import_zod3.z.enum(["pending", "scanning", "completed", "failed"]), | ||
| risk_score: import_zod3.z.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]).nullable(), | ||
| scanned_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable(), | ||
| scanner_version: import_zod3.z.string().nullable().optional(), | ||
| certification: CertificationSchema.nullable().optional(), | ||
| summary: import_zod2.z.object({ | ||
| components: import_zod2.z.number(), | ||
| vulnerabilities: import_zod2.z.object({ | ||
| critical: import_zod2.z.number(), | ||
| high: import_zod2.z.number(), | ||
| medium: import_zod2.z.number(), | ||
| low: import_zod2.z.number() | ||
| summary: import_zod3.z.object({ | ||
| components: import_zod3.z.number(), | ||
| vulnerabilities: import_zod3.z.object({ | ||
| critical: import_zod3.z.number(), | ||
| high: import_zod3.z.number(), | ||
| medium: import_zod3.z.number(), | ||
| low: import_zod3.z.number() | ||
| }), | ||
| secrets: import_zod2.z.number(), | ||
| malicious: import_zod2.z.number(), | ||
| code_issues: import_zod2.z.number() | ||
| secrets: import_zod3.z.number(), | ||
| malicious: import_zod3.z.number(), | ||
| code_issues: import_zod3.z.number() | ||
| }).optional(), | ||
| domains: import_zod2.z.record(import_zod2.z.string(), SecurityDomainSchema).optional(), | ||
| findings: import_zod2.z.array(ScorecardFindingSchema).optional() | ||
| domains: import_zod3.z.record(import_zod3.z.string(), SecurityDomainSchema).optional(), | ||
| findings: import_zod3.z.array(ScorecardFindingSchema).optional() | ||
| }); | ||
| var PackageVersionSchema = import_zod2.z.object({ | ||
| version: import_zod2.z.string(), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| downloads: import_zod2.z.number(), | ||
| artifacts: import_zod2.z.array(ArtifactSchema).optional(), | ||
| readme: import_zod2.z.string().nullable().optional(), | ||
| var PackageVersionSchema = import_zod3.z.object({ | ||
| version: import_zod3.z.string(), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| downloads: import_zod3.z.number(), | ||
| artifacts: import_zod3.z.array(ArtifactSchema).optional(), | ||
| readme: import_zod3.z.string().nullable().optional(), | ||
| provenance: ProvenanceSchema.nullable().optional(), | ||
| release_url: import_zod2.z.string().nullable().optional(), | ||
| prerelease: import_zod2.z.boolean().optional(), | ||
| manifest: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).nullable().optional(), | ||
| release_url: import_zod3.z.string().nullable().optional(), | ||
| prerelease: import_zod3.z.boolean().optional(), | ||
| manifest: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).nullable().optional(), | ||
| security_scan: SecurityScanSchema.nullable().optional() | ||
| }); | ||
| var PackageClaimingSchema = import_zod2.z.object({ | ||
| claimable: import_zod2.z.boolean(), | ||
| claimed: import_zod2.z.boolean(), | ||
| claimed_by: import_zod2.z.string().nullable(), | ||
| claimed_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]).nullable(), | ||
| github_repo: import_zod2.z.string().nullable() | ||
| var PackageClaimingSchema = import_zod3.z.object({ | ||
| claimable: import_zod3.z.boolean(), | ||
| claimed: import_zod3.z.boolean(), | ||
| claimed_by: import_zod3.z.string().nullable(), | ||
| claimed_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable(), | ||
| github_repo: import_zod3.z.string().nullable() | ||
| }); | ||
| var PackageDetailSchema = PackageSchema.extend({ | ||
| homepage: import_zod2.z.string().nullable(), | ||
| license: import_zod2.z.string().nullable(), | ||
| homepage: import_zod3.z.string().nullable(), | ||
| license: import_zod3.z.string().nullable(), | ||
| claiming: PackageClaimingSchema, | ||
| versions: import_zod2.z.array(PackageVersionSchema) | ||
| versions: import_zod3.z.array(PackageVersionSchema) | ||
| }); | ||
| var PackageSearchResponseSchema = import_zod2.z.object({ | ||
| packages: import_zod2.z.array(PackageSchema), | ||
| total: import_zod2.z.number() | ||
| var PackageSearchResponseSchema = import_zod3.z.object({ | ||
| packages: import_zod3.z.array(PackageSchema), | ||
| total: import_zod3.z.number() | ||
| }); | ||
| var PlatformInfoSchema = import_zod2.z.object({ | ||
| os: import_zod2.z.string(), | ||
| arch: import_zod2.z.string() | ||
| var PlatformInfoSchema = import_zod3.z.object({ | ||
| os: import_zod3.z.string(), | ||
| arch: import_zod3.z.string() | ||
| }); | ||
| var FullProvenanceSchema = import_zod2.z.object({ | ||
| schema_version: import_zod2.z.string(), | ||
| provider: import_zod2.z.string(), | ||
| repository: import_zod2.z.string(), | ||
| sha: import_zod2.z.string() | ||
| var FullProvenanceSchema = import_zod3.z.object({ | ||
| schema_version: import_zod3.z.string(), | ||
| provider: import_zod3.z.string(), | ||
| repository: import_zod3.z.string(), | ||
| sha: import_zod3.z.string() | ||
| }); | ||
| var BundleSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| display_name: import_zod2.z.string().nullable().optional(), | ||
| description: import_zod2.z.string().nullable().optional(), | ||
| var BundleSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| display_name: import_zod3.z.string().nullable().optional(), | ||
| description: import_zod3.z.string().nullable().optional(), | ||
| author: PackageAuthorSchema.nullable().optional(), | ||
| latest_version: import_zod2.z.string(), | ||
| icon: import_zod2.z.string().nullable().optional(), | ||
| server_type: import_zod2.z.string().nullable().optional(), | ||
| tools: import_zod2.z.array(PackageToolSchema).optional(), | ||
| downloads: import_zod2.z.number(), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| verified: import_zod2.z.boolean(), | ||
| latest_version: import_zod3.z.string(), | ||
| icon: import_zod3.z.string().nullable().optional(), | ||
| server_type: import_zod3.z.string().nullable().optional(), | ||
| tools: import_zod3.z.array(PackageToolSchema).optional(), | ||
| downloads: import_zod3.z.number(), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| verified: import_zod3.z.boolean(), | ||
| provenance: FullProvenanceSchema.nullable().optional(), | ||
| certification_level: import_zod2.z.number().nullable().optional() | ||
| certification_level: import_zod3.z.number().nullable().optional() | ||
| }); | ||
| var BundleDetailSchema = BundleSchema.extend({ | ||
| homepage: import_zod2.z.string().nullable().optional(), | ||
| license: import_zod2.z.string().nullable().optional(), | ||
| homepage: import_zod3.z.string().nullable().optional(), | ||
| license: import_zod3.z.string().nullable().optional(), | ||
| certification: CertificationSchema.nullable().optional(), | ||
| versions: import_zod2.z.array( | ||
| import_zod2.z.object({ | ||
| version: import_zod2.z.string(), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| downloads: import_zod2.z.number() | ||
| versions: import_zod3.z.array( | ||
| import_zod3.z.object({ | ||
| version: import_zod3.z.string(), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| downloads: import_zod3.z.number() | ||
| }) | ||
| ) | ||
| }); | ||
| var BundleSearchResponseSchema = import_zod2.z.object({ | ||
| bundles: import_zod2.z.array(BundleSchema), | ||
| total: import_zod2.z.number(), | ||
| pagination: import_zod2.z.object({ | ||
| limit: import_zod2.z.number(), | ||
| offset: import_zod2.z.number(), | ||
| has_more: import_zod2.z.boolean() | ||
| var BundleSearchResponseSchema = import_zod3.z.object({ | ||
| bundles: import_zod3.z.array(BundleSchema), | ||
| total: import_zod3.z.number(), | ||
| pagination: import_zod3.z.object({ | ||
| limit: import_zod3.z.number(), | ||
| offset: import_zod3.z.number(), | ||
| has_more: import_zod3.z.boolean() | ||
| }) | ||
| }); | ||
| var VersionInfoSchema = import_zod2.z.object({ | ||
| version: import_zod2.z.string(), | ||
| artifacts_count: import_zod2.z.number(), | ||
| platforms: import_zod2.z.array(PlatformInfoSchema), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| downloads: import_zod2.z.number(), | ||
| publish_method: import_zod2.z.string().nullable(), | ||
| var VersionInfoSchema = import_zod3.z.object({ | ||
| version: import_zod3.z.string(), | ||
| artifacts_count: import_zod3.z.number(), | ||
| platforms: import_zod3.z.array(PlatformInfoSchema), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| downloads: import_zod3.z.number(), | ||
| publish_method: import_zod3.z.string().nullable(), | ||
| provenance: FullProvenanceSchema.nullable().optional() | ||
| }); | ||
| var VersionsResponseSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| latest: import_zod2.z.string(), | ||
| versions: import_zod2.z.array(VersionInfoSchema) | ||
| var VersionsResponseSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| latest: import_zod3.z.string(), | ||
| versions: import_zod3.z.array(VersionInfoSchema) | ||
| }); | ||
| var DownloadInfoSchema = import_zod2.z.object({ | ||
| url: import_zod2.z.string(), | ||
| bundle: import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| var DownloadInfoSchema = import_zod3.z.object({ | ||
| url: import_zod3.z.string(), | ||
| bundle: import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| platform: PlatformInfoSchema, | ||
| sha256: import_zod2.z.string(), | ||
| size: import_zod2.z.number() | ||
| sha256: import_zod3.z.string(), | ||
| size: import_zod3.z.number() | ||
| }), | ||
| expires_at: import_zod2.z.string().optional() | ||
| expires_at: import_zod3.z.string().optional() | ||
| }); | ||
| var VersionDetailSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| published_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]), | ||
| downloads: import_zod2.z.number(), | ||
| artifacts: import_zod2.z.array( | ||
| import_zod2.z.object({ | ||
| var VersionDetailSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| published_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]), | ||
| downloads: import_zod3.z.number(), | ||
| artifacts: import_zod3.z.array( | ||
| import_zod3.z.object({ | ||
| platform: PlatformInfoSchema, | ||
| digest: import_zod2.z.string(), | ||
| size: import_zod2.z.number(), | ||
| download_url: import_zod2.z.string(), | ||
| source_url: import_zod2.z.string().optional() | ||
| digest: import_zod3.z.string(), | ||
| size: import_zod3.z.number(), | ||
| download_url: import_zod3.z.string(), | ||
| source_url: import_zod3.z.string().optional() | ||
| }) | ||
| ), | ||
| manifest: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()), | ||
| release: import_zod2.z.object({ | ||
| tag: import_zod2.z.string().nullable(), | ||
| url: import_zod2.z.string().nullable() | ||
| manifest: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()), | ||
| release: import_zod3.z.object({ | ||
| tag: import_zod3.z.string().nullable(), | ||
| url: import_zod3.z.string().nullable() | ||
| }).optional(), | ||
| publish_method: import_zod2.z.string().nullable(), | ||
| publish_method: import_zod3.z.string().nullable(), | ||
| provenance: FullProvenanceSchema.nullable() | ||
| }); | ||
| var MCPBIndexSchema = import_zod2.z.object({ | ||
| index_version: import_zod2.z.string(), | ||
| mimeType: import_zod2.z.string(), | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| description: import_zod2.z.string().nullable(), | ||
| bundles: import_zod2.z.array( | ||
| import_zod2.z.object({ | ||
| mimeType: import_zod2.z.string().nullable(), | ||
| digest: import_zod2.z.string(), | ||
| size: import_zod2.z.number(), | ||
| var MCPBIndexSchema = import_zod3.z.object({ | ||
| index_version: import_zod3.z.string(), | ||
| mimeType: import_zod3.z.string(), | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| description: import_zod3.z.string().nullable(), | ||
| bundles: import_zod3.z.array( | ||
| import_zod3.z.object({ | ||
| mimeType: import_zod3.z.string().nullable(), | ||
| digest: import_zod3.z.string(), | ||
| size: import_zod3.z.number(), | ||
| platform: PlatformInfoSchema, | ||
| urls: import_zod2.z.array(import_zod2.z.string()) | ||
| urls: import_zod3.z.array(import_zod3.z.string()) | ||
| }) | ||
| ), | ||
| annotations: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.string()).optional() | ||
| annotations: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.string()).optional() | ||
| }); | ||
| var AnnounceRequestSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| manifest: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()), | ||
| release_tag: import_zod2.z.string(), | ||
| prerelease: import_zod2.z.boolean().optional().default(false), | ||
| artifact: import_zod2.z.object({ | ||
| filename: import_zod2.z.string(), | ||
| os: import_zod2.z.string(), | ||
| arch: import_zod2.z.string(), | ||
| sha256: import_zod2.z.string(), | ||
| size: import_zod2.z.number() | ||
| var AnnounceRequestSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| manifest: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()), | ||
| release_tag: import_zod3.z.string(), | ||
| prerelease: import_zod3.z.boolean().optional().default(false), | ||
| artifact: import_zod3.z.object({ | ||
| filename: import_zod3.z.string(), | ||
| os: import_zod3.z.string(), | ||
| arch: import_zod3.z.string(), | ||
| sha256: import_zod3.z.string(), | ||
| size: import_zod3.z.number() | ||
| }) | ||
| }); | ||
| var AnnounceResponseSchema = import_zod2.z.object({ | ||
| package: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| artifact: import_zod2.z.object({ | ||
| os: import_zod2.z.string(), | ||
| arch: import_zod2.z.string(), | ||
| filename: import_zod2.z.string() | ||
| var AnnounceResponseSchema = import_zod3.z.object({ | ||
| package: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| artifact: import_zod3.z.object({ | ||
| os: import_zod3.z.string(), | ||
| arch: import_zod3.z.string(), | ||
| filename: import_zod3.z.string() | ||
| }), | ||
| total_artifacts: import_zod2.z.number(), | ||
| status: import_zod2.z.enum(["created", "updated"]) | ||
| total_artifacts: import_zod3.z.number(), | ||
| status: import_zod3.z.enum(["created", "updated"]) | ||
| }); | ||
| var PublishResponseSchema = import_zod2.z.object({ | ||
| success: import_zod2.z.boolean(), | ||
| package: import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| manifest: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()) | ||
| var PublishResponseSchema = import_zod3.z.object({ | ||
| success: import_zod3.z.boolean(), | ||
| package: import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| manifest: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()) | ||
| }), | ||
| sha256: import_zod2.z.string(), | ||
| size: import_zod2.z.number(), | ||
| url: import_zod2.z.string(), | ||
| auto_claimed: import_zod2.z.boolean().optional(), | ||
| message: import_zod2.z.string().optional() | ||
| sha256: import_zod3.z.string(), | ||
| size: import_zod3.z.number(), | ||
| url: import_zod3.z.string(), | ||
| auto_claimed: import_zod3.z.boolean().optional(), | ||
| message: import_zod3.z.string().optional() | ||
| }); | ||
| var InternalDownloadResponseSchema = import_zod2.z.object({ | ||
| url: import_zod2.z.string(), | ||
| package: import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| version: import_zod2.z.string(), | ||
| sha256: import_zod2.z.string(), | ||
| size: import_zod2.z.number() | ||
| var InternalDownloadResponseSchema = import_zod3.z.object({ | ||
| url: import_zod3.z.string(), | ||
| package: import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| version: import_zod3.z.string(), | ||
| sha256: import_zod3.z.string(), | ||
| size: import_zod3.z.number() | ||
| }), | ||
| expires_at: import_zod2.z.string() | ||
| expires_at: import_zod3.z.string() | ||
| }); | ||
| var ClaimStatusResponseSchema = import_zod2.z.object({ | ||
| claimable: import_zod2.z.boolean(), | ||
| reason: import_zod2.z.string().optional(), | ||
| claimed_by: import_zod2.z.string().nullable().optional(), | ||
| claimed_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]).nullable().optional(), | ||
| package_name: import_zod2.z.string().optional(), | ||
| github_repo: import_zod2.z.string().nullable().optional(), | ||
| instructions: import_zod2.z.object({ | ||
| steps: import_zod2.z.array(import_zod2.z.string()), | ||
| mpak_json_example: import_zod2.z.string(), | ||
| verification_url: import_zod2.z.string().nullable() | ||
| var ClaimStatusResponseSchema = import_zod3.z.object({ | ||
| claimable: import_zod3.z.boolean(), | ||
| reason: import_zod3.z.string().optional(), | ||
| claimed_by: import_zod3.z.string().nullable().optional(), | ||
| claimed_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable().optional(), | ||
| package_name: import_zod3.z.string().optional(), | ||
| github_repo: import_zod3.z.string().nullable().optional(), | ||
| instructions: import_zod3.z.object({ | ||
| steps: import_zod3.z.array(import_zod3.z.string()), | ||
| mpak_json_example: import_zod3.z.string(), | ||
| verification_url: import_zod3.z.string().nullable() | ||
| }).optional() | ||
| }); | ||
| var ClaimResponseSchema = import_zod2.z.object({ | ||
| success: import_zod2.z.boolean(), | ||
| message: import_zod2.z.string(), | ||
| package: import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| claimed_by: import_zod2.z.string().nullable(), | ||
| claimed_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]).nullable(), | ||
| github_repo: import_zod2.z.string().nullable() | ||
| var ClaimResponseSchema = import_zod3.z.object({ | ||
| success: import_zod3.z.boolean(), | ||
| message: import_zod3.z.string(), | ||
| package: import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| claimed_by: import_zod3.z.string().nullable(), | ||
| claimed_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable(), | ||
| github_repo: import_zod3.z.string().nullable() | ||
| }), | ||
| verification: import_zod2.z.object({ | ||
| mpak_json_url: import_zod2.z.string().nullable().optional(), | ||
| verified_at: import_zod2.z.string() | ||
| verification: import_zod3.z.object({ | ||
| mpak_json_url: import_zod3.z.string().nullable().optional(), | ||
| verified_at: import_zod3.z.string() | ||
| }) | ||
| }); | ||
| var MyPackagesResponseSchema = import_zod2.z.object({ | ||
| packages: import_zod2.z.array(PackageSchema), | ||
| total: import_zod2.z.number(), | ||
| var MyPackagesResponseSchema = import_zod3.z.object({ | ||
| packages: import_zod3.z.array(PackageSchema), | ||
| total: import_zod3.z.number(), | ||
| pagination: PaginationSchema | ||
| }); | ||
| var UnclaimedPackageSchema = import_zod2.z.object({ | ||
| name: import_zod2.z.string(), | ||
| display_name: import_zod2.z.string().nullable(), | ||
| description: import_zod2.z.string().nullable(), | ||
| server_type: import_zod2.z.string().nullable(), | ||
| latest_version: import_zod2.z.string(), | ||
| downloads: import_zod2.z.number(), | ||
| github_repo: import_zod2.z.string().nullable(), | ||
| created_at: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.date()]) | ||
| var UnclaimedPackageSchema = import_zod3.z.object({ | ||
| name: import_zod3.z.string(), | ||
| display_name: import_zod3.z.string().nullable(), | ||
| description: import_zod3.z.string().nullable(), | ||
| server_type: import_zod3.z.string().nullable(), | ||
| latest_version: import_zod3.z.string(), | ||
| downloads: import_zod3.z.number(), | ||
| github_repo: import_zod3.z.string().nullable(), | ||
| created_at: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]) | ||
| }); | ||
| var UnclaimedPackagesResponseSchema = import_zod2.z.object({ | ||
| packages: import_zod2.z.array(UnclaimedPackageSchema), | ||
| total: import_zod2.z.number(), | ||
| var UnclaimedPackagesResponseSchema = import_zod3.z.object({ | ||
| packages: import_zod3.z.array(UnclaimedPackageSchema), | ||
| total: import_zod3.z.number(), | ||
| pagination: PaginationSchema | ||
@@ -459,28 +533,28 @@ }); | ||
| // src/auth.ts | ||
| var import_zod3 = require("zod"); | ||
| var UserProfileSchema = import_zod3.z.object({ | ||
| id: import_zod3.z.string(), | ||
| email: import_zod3.z.string().email(), | ||
| emailVerified: import_zod3.z.boolean(), | ||
| username: import_zod3.z.string().nullable(), | ||
| name: import_zod3.z.string().nullable(), | ||
| avatarUrl: import_zod3.z.string().nullable(), | ||
| githubUsername: import_zod3.z.string().nullable(), | ||
| githubLinked: import_zod3.z.boolean(), | ||
| verified: import_zod3.z.boolean(), | ||
| publishedBundles: import_zod3.z.number(), | ||
| totalDownloads: import_zod3.z.number(), | ||
| role: import_zod3.z.string().nullable(), | ||
| createdAt: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable(), | ||
| lastLoginAt: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.date()]).nullable() | ||
| var import_zod4 = require("zod"); | ||
| var UserProfileSchema = import_zod4.z.object({ | ||
| id: import_zod4.z.string(), | ||
| email: import_zod4.z.string().email(), | ||
| emailVerified: import_zod4.z.boolean(), | ||
| username: import_zod4.z.string().nullable(), | ||
| name: import_zod4.z.string().nullable(), | ||
| avatarUrl: import_zod4.z.string().nullable(), | ||
| githubUsername: import_zod4.z.string().nullable(), | ||
| githubLinked: import_zod4.z.boolean(), | ||
| verified: import_zod4.z.boolean(), | ||
| publishedBundles: import_zod4.z.number(), | ||
| totalDownloads: import_zod4.z.number(), | ||
| role: import_zod4.z.string().nullable(), | ||
| createdAt: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.date()]).nullable(), | ||
| lastLoginAt: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.date()]).nullable() | ||
| }); | ||
| // src/skill.ts | ||
| var import_zod4 = require("zod"); | ||
| var SkillNameSchema = import_zod4.z.string().min(1).max(64).regex( | ||
| var import_zod5 = require("zod"); | ||
| var SkillNameSchema = import_zod5.z.string().min(1).max(64).regex( | ||
| /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, | ||
| "Lowercase alphanumeric with single hyphens, cannot start/end with hyphen" | ||
| ); | ||
| var SkillDescriptionSchema = import_zod4.z.string().min(1).max(1024); | ||
| var SkillCategorySchema = import_zod4.z.enum([ | ||
| var SkillDescriptionSchema = import_zod5.z.string().min(1).max(1024); | ||
| var SkillCategorySchema = import_zod5.z.enum([ | ||
| "development", | ||
@@ -496,112 +570,110 @@ "writing", | ||
| ]); | ||
| var SkillAuthorSchema = import_zod4.z.object({ | ||
| name: import_zod4.z.string().min(1), | ||
| url: import_zod4.z.string().url().optional(), | ||
| email: import_zod4.z.string().email().optional() | ||
| var SkillAuthorSchema = import_zod5.z.object({ | ||
| name: import_zod5.z.string().min(1), | ||
| url: import_zod5.z.string().url().optional(), | ||
| email: import_zod5.z.string().email().optional() | ||
| }); | ||
| var SkillExampleSchema = import_zod4.z.object({ | ||
| prompt: import_zod4.z.string().min(1), | ||
| context: import_zod4.z.string().optional() | ||
| var SkillExampleSchema = import_zod5.z.object({ | ||
| prompt: import_zod5.z.string().min(1), | ||
| context: import_zod5.z.string().optional() | ||
| }); | ||
| var SkillDiscoveryMetadataSchema = import_zod4.z.object({ | ||
| tags: import_zod4.z.array(import_zod4.z.string().max(32)).max(10).optional(), | ||
| var SkillDiscoveryMetadataSchema = import_zod5.z.object({ | ||
| tags: import_zod5.z.array(import_zod5.z.string().max(32)).max(10).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| triggers: import_zod4.z.array(import_zod4.z.string().max(128)).max(20).optional(), | ||
| keywords: import_zod4.z.array(import_zod4.z.string().max(32)).max(30).optional(), | ||
| triggers: import_zod5.z.array(import_zod5.z.string().max(128)).max(20).optional(), | ||
| keywords: import_zod5.z.array(import_zod5.z.string().max(32)).max(30).optional(), | ||
| author: SkillAuthorSchema.optional(), | ||
| version: import_zod4.z.string().optional(), | ||
| examples: import_zod4.z.array(SkillExampleSchema).max(5).optional() | ||
| version: import_zod5.z.string().optional(), | ||
| examples: import_zod5.z.array(SkillExampleSchema).max(5).optional() | ||
| }).passthrough(); | ||
| var SkillFrontmatterSchema = import_zod4.z.object({ | ||
| var SkillFrontmatterSchema = import_zod5.z.object({ | ||
| name: SkillNameSchema, | ||
| description: SkillDescriptionSchema, | ||
| license: import_zod4.z.string().optional(), | ||
| compatibility: import_zod4.z.string().max(500).optional(), | ||
| "allowed-tools": import_zod4.z.string().optional(), | ||
| version: import_zod5.z.string().optional(), | ||
| license: import_zod5.z.string().optional(), | ||
| compatibility: import_zod5.z.string().max(500).optional(), | ||
| "allowed-tools": import_zod5.z.string().optional(), | ||
| metadata: SkillDiscoveryMetadataSchema.optional() | ||
| }); | ||
| var ScopedSkillNameSchema = import_zod4.z.string().regex( | ||
| /^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/, | ||
| "Scoped name format: @scope/name" | ||
| ); | ||
| var SkillArtifactSchema = import_zod4.z.object({ | ||
| filename: import_zod4.z.string().regex(/\.skill$/, "Must have .skill extension"), | ||
| sha256: import_zod4.z.string().length(64), | ||
| size: import_zod4.z.number().int().positive() | ||
| var ScopedSkillNameSchema = import_zod5.z.string().regex(/^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/, "Scoped name format: @scope/name"); | ||
| var SkillArtifactSchema = import_zod5.z.object({ | ||
| filename: import_zod5.z.string().regex(/\.skill$/, "Must have .skill extension"), | ||
| sha256: import_zod5.z.string().length(64), | ||
| size: import_zod5.z.number().int().positive() | ||
| }); | ||
| var SkillAnnounceRequestSchema = import_zod4.z.object({ | ||
| var SkillAnnounceRequestSchema = import_zod5.z.object({ | ||
| name: ScopedSkillNameSchema, | ||
| version: import_zod4.z.string(), | ||
| version: import_zod5.z.string(), | ||
| skill: SkillFrontmatterSchema, | ||
| release_tag: import_zod4.z.string(), | ||
| prerelease: import_zod4.z.boolean().optional().default(false), | ||
| release_tag: import_zod5.z.string(), | ||
| prerelease: import_zod5.z.boolean().optional().default(false), | ||
| artifact: SkillArtifactSchema | ||
| }); | ||
| var SkillAnnounceResponseSchema = import_zod4.z.object({ | ||
| skill: import_zod4.z.string(), | ||
| version: import_zod4.z.string(), | ||
| status: import_zod4.z.enum(["created", "exists"]) | ||
| var SkillAnnounceResponseSchema = import_zod5.z.object({ | ||
| skill: import_zod5.z.string(), | ||
| version: import_zod5.z.string(), | ||
| status: import_zod5.z.enum(["created", "exists"]) | ||
| }); | ||
| var SkillSearchParamsSchema = import_zod4.z.object({ | ||
| q: import_zod4.z.string().optional(), | ||
| tags: import_zod4.z.string().optional(), | ||
| var SkillSearchParamsSchema = import_zod5.z.object({ | ||
| q: import_zod5.z.string().optional(), | ||
| tags: import_zod5.z.string().optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| sort: import_zod4.z.enum(["downloads", "recent", "name"]).optional(), | ||
| limit: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.number()]).optional(), | ||
| offset: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.number()]).optional() | ||
| sort: import_zod5.z.enum(["downloads", "recent", "name"]).optional(), | ||
| limit: import_zod5.z.union([import_zod5.z.string(), import_zod5.z.number()]).optional(), | ||
| offset: import_zod5.z.union([import_zod5.z.string(), import_zod5.z.number()]).optional() | ||
| }); | ||
| var SkillSummarySchema = import_zod4.z.object({ | ||
| name: import_zod4.z.string(), | ||
| description: import_zod4.z.string(), | ||
| latest_version: import_zod4.z.string(), | ||
| tags: import_zod4.z.array(import_zod4.z.string()).optional(), | ||
| var SkillSummarySchema = import_zod5.z.object({ | ||
| name: import_zod5.z.string(), | ||
| description: import_zod5.z.string(), | ||
| latest_version: import_zod5.z.string(), | ||
| tags: import_zod5.z.array(import_zod5.z.string()).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| downloads: import_zod4.z.number(), | ||
| published_at: import_zod4.z.string(), | ||
| downloads: import_zod5.z.number(), | ||
| published_at: import_zod5.z.string(), | ||
| author: SkillAuthorSchema.optional() | ||
| }); | ||
| var SkillSearchResponseSchema = import_zod4.z.object({ | ||
| skills: import_zod4.z.array(SkillSummarySchema), | ||
| total: import_zod4.z.number(), | ||
| pagination: import_zod4.z.object({ | ||
| limit: import_zod4.z.number(), | ||
| offset: import_zod4.z.number(), | ||
| has_more: import_zod4.z.boolean() | ||
| var SkillSearchResponseSchema = import_zod5.z.object({ | ||
| skills: import_zod5.z.array(SkillSummarySchema), | ||
| total: import_zod5.z.number(), | ||
| pagination: import_zod5.z.object({ | ||
| limit: import_zod5.z.number(), | ||
| offset: import_zod5.z.number(), | ||
| has_more: import_zod5.z.boolean() | ||
| }) | ||
| }); | ||
| var SkillDetailSchema = import_zod4.z.object({ | ||
| name: import_zod4.z.string(), | ||
| description: import_zod4.z.string(), | ||
| latest_version: import_zod4.z.string(), | ||
| license: import_zod4.z.string().optional(), | ||
| compatibility: import_zod4.z.string().optional(), | ||
| allowed_tools: import_zod4.z.array(import_zod4.z.string()).optional(), | ||
| tags: import_zod4.z.array(import_zod4.z.string()).optional(), | ||
| var SkillDetailSchema = import_zod5.z.object({ | ||
| name: import_zod5.z.string(), | ||
| description: import_zod5.z.string(), | ||
| latest_version: import_zod5.z.string(), | ||
| license: import_zod5.z.string().optional(), | ||
| compatibility: import_zod5.z.string().optional(), | ||
| allowed_tools: import_zod5.z.array(import_zod5.z.string()).optional(), | ||
| tags: import_zod5.z.array(import_zod5.z.string()).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| triggers: import_zod4.z.array(import_zod4.z.string()).optional(), | ||
| downloads: import_zod4.z.number(), | ||
| published_at: import_zod4.z.string(), | ||
| triggers: import_zod5.z.array(import_zod5.z.string()).optional(), | ||
| downloads: import_zod5.z.number(), | ||
| published_at: import_zod5.z.string(), | ||
| author: SkillAuthorSchema.optional(), | ||
| examples: import_zod4.z.array(SkillExampleSchema).optional(), | ||
| versions: import_zod4.z.array( | ||
| import_zod4.z.object({ | ||
| version: import_zod4.z.string(), | ||
| published_at: import_zod4.z.string(), | ||
| downloads: import_zod4.z.number() | ||
| examples: import_zod5.z.array(SkillExampleSchema).optional(), | ||
| versions: import_zod5.z.array( | ||
| import_zod5.z.object({ | ||
| version: import_zod5.z.string(), | ||
| published_at: import_zod5.z.string(), | ||
| downloads: import_zod5.z.number() | ||
| }) | ||
| ) | ||
| }); | ||
| var SkillDownloadInfoSchema = import_zod4.z.object({ | ||
| url: import_zod4.z.string(), | ||
| skill: import_zod4.z.object({ | ||
| name: import_zod4.z.string(), | ||
| version: import_zod4.z.string(), | ||
| sha256: import_zod4.z.string(), | ||
| size: import_zod4.z.number() | ||
| var SkillDownloadInfoSchema = import_zod5.z.object({ | ||
| url: import_zod5.z.string(), | ||
| skill: import_zod5.z.object({ | ||
| name: import_zod5.z.string(), | ||
| version: import_zod5.z.string(), | ||
| sha256: import_zod5.z.string(), | ||
| size: import_zod5.z.number() | ||
| }), | ||
| expires_at: import_zod4.z.string() | ||
| expires_at: import_zod5.z.string() | ||
| }); | ||
| // src/mpak-json.ts | ||
| var import_zod5 = require("zod"); | ||
| var import_zod6 = require("zod"); | ||
| var MPAK_SCHEMA_VERSION = "2025-10-19"; | ||
@@ -611,12 +683,12 @@ var MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`; | ||
| var GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i; | ||
| var MpakJsonSchema = import_zod5.z.object({ | ||
| $schema: import_zod5.z.string().optional(), | ||
| name: import_zod5.z.string().regex( | ||
| var MpakJsonSchema = import_zod6.z.object({ | ||
| $schema: import_zod6.z.string().optional(), | ||
| name: import_zod6.z.string().regex( | ||
| ScopedPackageNamePattern, | ||
| "Package name must be scoped (e.g., @username/package-name)" | ||
| ), | ||
| maintainers: import_zod5.z.array( | ||
| import_zod5.z.string().regex(GitHubUsernamePattern, "Must be a valid GitHub username") | ||
| maintainers: import_zod6.z.array( | ||
| import_zod6.z.string().regex(GitHubUsernamePattern, "Must be a valid GitHub username") | ||
| ).min(1, "At least one maintainer is required"), | ||
| version: import_zod5.z.string().optional() | ||
| version: import_zod6.z.string().optional() | ||
| }); | ||
@@ -666,2 +738,11 @@ var MPAK_JSON_SCHEMA = { | ||
| // src/cache.ts | ||
| var import_zod7 = require("zod"); | ||
| var CacheMetadataSchema = import_zod7.z.object({ | ||
| version: import_zod7.z.string(), | ||
| pulledAt: import_zod7.z.string(), | ||
| lastCheckedAt: import_zod7.z.string().optional(), | ||
| platform: PlatformInfoSchema | ||
| }).strict(); | ||
| // src/validation.ts | ||
@@ -739,4 +820,8 @@ function validate(schema, data) { | ||
| BundleDetailSchema, | ||
| BundleDownloadParamsSchema, | ||
| BundleSchema, | ||
| BundleSearchParamsSchema, | ||
| BundleSearchResponseSchema, | ||
| CacheMetadataSchema, | ||
| CapabilitySchema, | ||
| CertificationSchema, | ||
@@ -753,2 +838,6 @@ ClaimResponseSchema, | ||
| MPAK_SCHEMA_VERSION, | ||
| ManifestAuthorSchema, | ||
| ManifestServerSchema, | ||
| McpConfigSchema, | ||
| McpbManifestSchema, | ||
| MpakJsonSchema, | ||
@@ -793,2 +882,3 @@ MyPackagesResponseSchema, | ||
| UnclaimedPackagesResponseSchema, | ||
| UserConfigFieldSchema, | ||
| UserProfileSchema, | ||
@@ -795,0 +885,0 @@ VersionDetailSchema, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts","../src/package.ts","../src/api-responses.ts","../src/auth.ts","../src/skill.ts","../src/mpak-json.ts","../src/validation.ts"],"sourcesContent":["// Search params and enums\nexport * from \"./package.js\";\n\n// API response schemas (packages, bundles, internal)\nexport * from \"./api-responses.js\";\n\n// Auth schemas\nexport * from \"./auth.js\";\n\n// Skill schemas\nexport * from \"./skill.js\";\n\n// mpak.json schema and utilities\nexport * from \"./mpak-json.js\";\n\n// Validation helpers\nexport * from \"./validation.js\";\n","import { z } from \"zod\";\n\n// =============================================================================\n// Enums & Search Params\n// =============================================================================\n\n/** Server runtime type */\nexport const ServerTypeSchema = z.enum([\"node\", \"python\", \"binary\"]);\n\n/** Supported operating system platforms */\nexport const PlatformSchema = z.enum([\"darwin\", \"win32\", \"linux\"]);\n\n/** Sort options for package listings */\nexport const PackageSortSchema = z.enum([\"downloads\", \"recent\", \"name\"]);\n\n/**\n * Package search query parameters.\n * HTTP query params arrive as strings, so limit/offset accept both.\n */\nexport const PackageSearchParamsSchema = z.object({\n q: z.string().optional(),\n type: ServerTypeSchema.optional(),\n tool: z.string().optional(),\n prompt: z.string().optional(),\n platform: PlatformSchema.optional(),\n sort: PackageSortSchema.optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type ServerType = z.infer<typeof ServerTypeSchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type PackageSort = z.infer<typeof PackageSortSchema>;\nexport type PackageSearchParams = z.infer<typeof PackageSearchParamsSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Shared Components\n// =============================================================================\n\n/** Package author information */\nexport const PackageAuthorSchema = z.object({\n name: z.string(),\n});\n\n/** Tool exposed by a package */\nexport const PackageToolSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n/** GitHub repository metadata */\nexport const PackageGitHubSchema = z.object({\n repo: z.string(),\n stars: z.number().nullable(),\n forks: z.number().nullable(),\n watchers: z.number().nullable(),\n updated_at: z.string().nullable().optional(),\n});\n\n/** Reusable pagination envelope */\nexport const PaginationSchema = z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n});\n\n// =============================================================================\n// Package Schemas (internal / web UI API)\n// =============================================================================\n\n/** Package list item (search/list endpoints) */\nexport const PackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n author: PackageAuthorSchema.nullable(),\n latest_version: z.string(),\n icon: z.string().nullable(),\n server_type: z.string(),\n tools: z.array(PackageToolSchema),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n claimable: z.boolean().optional(),\n claimed: z.boolean().optional(),\n github: PackageGitHubSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Platform-specific artifact */\nexport const ArtifactSchema = z.object({\n os: z.string(),\n arch: z.string(),\n size_bytes: z.number(),\n digest: z.string(),\n downloads: z.number(),\n});\n\n/** Build/publish provenance attestation */\nexport const ProvenanceSchema = z.object({\n publish_method: z.string().nullable(),\n repository: z.string().nullable(),\n sha: z.string().nullable(),\n});\n\n/** MTF certification level */\nexport const CertificationSchema = z.object({\n level: z.number().nullable(),\n level_name: z.string().nullable(),\n controls_passed: z.number().nullable(),\n controls_failed: z.number().nullable(),\n controls_total: z.number().nullable(),\n});\n\n/** Scorecard finding (prioritized issue to fix) */\nexport const ScorecardFindingSchema = z.object({\n id: z.string(),\n control: z.string(),\n severity: z.enum([\"critical\", \"high\", \"medium\", \"low\", \"info\"]),\n title: z.string(),\n description: z.string(),\n file: z.string().nullable(),\n line: z.number().nullable(),\n remediation: z.string().nullable(),\n});\n\n/** Individual control within a security domain */\nexport const DomainControlSchema = z.object({\n status: z.enum([\"pass\", \"fail\", \"skip\", \"error\"]),\n name: z.string(),\n findings_count: z.number(),\n});\n\n/** Security domain (group of related controls) */\nexport const SecurityDomainSchema = z.object({\n display_name: z.string(),\n controls_passed: z.number(),\n controls_total: z.number(),\n controls: z.record(z.string(), DomainControlSchema),\n});\n\n/** Security scan summary */\nexport const SecurityScanSchema = z.object({\n status: z.enum([\"pending\", \"scanning\", \"completed\", \"failed\"]),\n risk_score: z.enum([\"CRITICAL\", \"HIGH\", \"MEDIUM\", \"LOW\"]).nullable(),\n scanned_at: z.union([z.string(), z.date()]).nullable(),\n certification: CertificationSchema.nullable().optional(),\n summary: z\n .object({\n components: z.number(),\n vulnerabilities: z.object({\n critical: z.number(),\n high: z.number(),\n medium: z.number(),\n low: z.number(),\n }),\n secrets: z.number(),\n malicious: z.number(),\n code_issues: z.number(),\n })\n .optional(),\n domains: z.record(z.string(), SecurityDomainSchema).optional(),\n findings: z.array(ScorecardFindingSchema).optional(),\n});\n\n/** Package version detail */\nexport const PackageVersionSchema = z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(ArtifactSchema).optional(),\n readme: z.string().nullable().optional(),\n provenance: ProvenanceSchema.nullable().optional(),\n release_url: z.string().nullable().optional(),\n prerelease: z.boolean().optional(),\n manifest: z.record(z.string(), z.unknown()).nullable().optional(),\n security_scan: SecurityScanSchema.nullable().optional(),\n});\n\n/** Claiming status for a package */\nexport const PackageClaimingSchema = z.object({\n claimable: z.boolean(),\n claimed: z.boolean(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n});\n\n/** Full package detail (single-package endpoint) */\nexport const PackageDetailSchema = PackageSchema.extend({\n homepage: z.string().nullable(),\n license: z.string().nullable(),\n claiming: PackageClaimingSchema,\n versions: z.array(PackageVersionSchema),\n});\n\n/** Package search response envelope */\nexport const PackageSearchResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n});\n\n// =============================================================================\n// V1 Bundle API Schemas\n// =============================================================================\n\n/** Platform info (os + arch) */\nexport const PlatformInfoSchema = z.object({\n os: z.string(),\n arch: z.string(),\n});\n\n/** Full provenance (v1 API) */\nexport const FullProvenanceSchema = z.object({\n schema_version: z.string(),\n provider: z.string(),\n repository: z.string(),\n sha: z.string(),\n});\n\n/** Bundle summary (v1 API) */\nexport const BundleSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n author: PackageAuthorSchema.nullable().optional(),\n latest_version: z.string(),\n icon: z.string().nullable().optional(),\n server_type: z.string().nullable().optional(),\n tools: z.array(PackageToolSchema).optional(),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n provenance: FullProvenanceSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Bundle detail (v1 API) */\nexport const BundleDetailSchema = BundleSchema.extend({\n homepage: z.string().nullable().optional(),\n license: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Bundle search response (v1 API) */\nexport const BundleSearchResponseSchema = z.object({\n bundles: z.array(BundleSchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Version info with platforms */\nexport const VersionInfoSchema = z.object({\n version: z.string(),\n artifacts_count: z.number(),\n platforms: z.array(PlatformInfoSchema),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable().optional(),\n});\n\n/** Versions listing response (v1 API) */\nexport const VersionsResponseSchema = z.object({\n name: z.string(),\n latest: z.string(),\n versions: z.array(VersionInfoSchema),\n});\n\n/** Download info (v1 API) */\nexport const DownloadInfoSchema = z.object({\n url: z.string(),\n bundle: z.object({\n name: z.string(),\n version: z.string(),\n platform: PlatformInfoSchema,\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string().optional(),\n});\n\n/** Version detail with artifacts (v1 API) */\nexport const VersionDetailSchema = z.object({\n name: z.string(),\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(\n z.object({\n platform: PlatformInfoSchema,\n digest: z.string(),\n size: z.number(),\n download_url: z.string(),\n source_url: z.string().optional(),\n }),\n ),\n manifest: z.record(z.string(), z.unknown()),\n release: z\n .object({\n tag: z.string().nullable(),\n url: z.string().nullable(),\n })\n .optional(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable(),\n});\n\n/** MCPB index response */\nexport const MCPBIndexSchema = z.object({\n index_version: z.string(),\n mimeType: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string().nullable(),\n bundles: z.array(\n z.object({\n mimeType: z.string().nullable(),\n digest: z.string(),\n size: z.number(),\n platform: PlatformInfoSchema,\n urls: z.array(z.string()),\n }),\n ),\n annotations: z.record(z.string(), z.string()).optional(),\n});\n\n/** Announce request (per-artifact from GitHub Actions) */\nexport const AnnounceRequestSchema = z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: z.object({\n filename: z.string(),\n os: z.string(),\n arch: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n});\n\n/** Announce response (per-artifact, idempotent) */\nexport const AnnounceResponseSchema = z.object({\n package: z.string(),\n version: z.string(),\n artifact: z.object({\n os: z.string(),\n arch: z.string(),\n filename: z.string(),\n }),\n total_artifacts: z.number(),\n status: z.enum([\"created\", \"updated\"]),\n});\n\n// =============================================================================\n// Internal API Schemas (web UI, not exposed publicly)\n// =============================================================================\n\n/** Publish response */\nexport const PublishResponseSchema = z.object({\n success: z.boolean(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n }),\n sha256: z.string(),\n size: z.number(),\n url: z.string(),\n auto_claimed: z.boolean().optional(),\n message: z.string().optional(),\n});\n\n/** Internal download response */\nexport const InternalDownloadResponseSchema = z.object({\n url: z.string(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n/** Claim status response */\nexport const ClaimStatusResponseSchema = z.object({\n claimable: z.boolean(),\n reason: z.string().optional(),\n claimed_by: z.string().nullable().optional(),\n claimed_at: z.union([z.string(), z.date()]).nullable().optional(),\n package_name: z.string().optional(),\n github_repo: z.string().nullable().optional(),\n instructions: z\n .object({\n steps: z.array(z.string()),\n mpak_json_example: z.string(),\n verification_url: z.string().nullable(),\n })\n .optional(),\n});\n\n/** Claim response */\nexport const ClaimResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n package: z.object({\n name: z.string(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n }),\n verification: z.object({\n mpak_json_url: z.string().nullable().optional(),\n verified_at: z.string(),\n }),\n});\n\n/** My packages response */\nexport const MyPackagesResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n/** Unclaimed package summary */\nexport const UnclaimedPackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n server_type: z.string().nullable(),\n latest_version: z.string(),\n downloads: z.number(),\n github_repo: z.string().nullable(),\n created_at: z.union([z.string(), z.date()]),\n});\n\n/** Unclaimed packages response */\nexport const UnclaimedPackagesResponseSchema = z.object({\n packages: z.array(UnclaimedPackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\n// Core types\nexport type PackageAuthor = z.infer<typeof PackageAuthorSchema>;\nexport type PackageTool = z.infer<typeof PackageToolSchema>;\nexport type PackageGitHub = z.infer<typeof PackageGitHubSchema>;\nexport type Package = z.infer<typeof PackageSchema>;\nexport type Artifact = z.infer<typeof ArtifactSchema>;\nexport type Provenance = z.infer<typeof ProvenanceSchema>;\nexport type ScorecardFinding = z.infer<typeof ScorecardFindingSchema>;\nexport type DomainControl = z.infer<typeof DomainControlSchema>;\nexport type SecurityDomain = z.infer<typeof SecurityDomainSchema>;\nexport type Certification = z.infer<typeof CertificationSchema>;\nexport type SecurityScan = z.infer<typeof SecurityScanSchema>;\nexport type PackageVersion = z.infer<typeof PackageVersionSchema>;\nexport type PackageClaiming = z.infer<typeof PackageClaimingSchema>;\nexport type PackageDetail = z.infer<typeof PackageDetailSchema>;\nexport type PackageSearchResponse = z.infer<typeof PackageSearchResponseSchema>;\n\n// V1 API types\nexport type PlatformInfo = z.infer<typeof PlatformInfoSchema>;\nexport type FullProvenance = z.infer<typeof FullProvenanceSchema>;\nexport type Bundle = z.infer<typeof BundleSchema>;\nexport type BundleDetail = z.infer<typeof BundleDetailSchema>;\nexport type BundleSearchResponse = z.infer<typeof BundleSearchResponseSchema>;\nexport type VersionInfo = z.infer<typeof VersionInfoSchema>;\nexport type VersionsResponse = z.infer<typeof VersionsResponseSchema>;\nexport type DownloadInfo = z.infer<typeof DownloadInfoSchema>;\nexport type VersionDetail = z.infer<typeof VersionDetailSchema>;\nexport type MCPBIndex = z.infer<typeof MCPBIndexSchema>;\nexport type AnnounceRequest = z.infer<typeof AnnounceRequestSchema>;\nexport type AnnounceResponse = z.infer<typeof AnnounceResponseSchema>;\n\n// Internal API types\nexport type Pagination = z.infer<typeof PaginationSchema>;\nexport type PublishResponse = z.infer<typeof PublishResponseSchema>;\nexport type InternalDownloadResponse = z.infer<\n typeof InternalDownloadResponseSchema\n>;\nexport type ClaimStatusResponse = z.infer<typeof ClaimStatusResponseSchema>;\nexport type ClaimResponse = z.infer<typeof ClaimResponseSchema>;\nexport type MyPackagesResponse = z.infer<typeof MyPackagesResponseSchema>;\nexport type UnclaimedPackage = z.infer<typeof UnclaimedPackageSchema>;\nexport type UnclaimedPackagesResponse = z.infer<\n typeof UnclaimedPackagesResponseSchema\n>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Auth Schemas\n// =============================================================================\n\n/** User profile response from /app/auth/me */\nexport const UserProfileSchema = z.object({\n id: z.string(),\n email: z.string().email(),\n emailVerified: z.boolean(),\n username: z.string().nullable(),\n name: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n githubUsername: z.string().nullable(),\n githubLinked: z.boolean(),\n verified: z.boolean(),\n publishedBundles: z.number(),\n totalDownloads: z.number(),\n role: z.string().nullable(),\n createdAt: z.union([z.string(), z.date()]).nullable(),\n lastLoginAt: z.union([z.string(), z.date()]).nullable(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Agent Skills Specification - Skill Frontmatter Schema\n// https://agentskills.io/specification\n// =============================================================================\n\n/**\n * Skill name validation.\n * 1-64 characters, lowercase alphanumeric with single hyphens,\n * cannot start or end with hyphen.\n */\nexport const SkillNameSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(\n /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,\n \"Lowercase alphanumeric with single hyphens, cannot start/end with hyphen\",\n );\n\n/** Skill description (1-1024 characters) */\nexport const SkillDescriptionSchema = z.string().min(1).max(1024);\n\n// =============================================================================\n// Discovery Metadata Extension (via metadata: field)\n// =============================================================================\n\n/** Category taxonomy for skill discovery */\nexport const SkillCategorySchema = z.enum([\n \"development\",\n \"writing\",\n \"research\",\n \"consulting\",\n \"data\",\n \"design\",\n \"operations\",\n \"security\",\n \"other\",\n]);\n\n/** Author information for attribution */\nexport const SkillAuthorSchema = z.object({\n name: z.string().min(1),\n url: z.string().url().optional(),\n email: z.string().email().optional(),\n});\n\n/** Example usage for discovery */\nexport const SkillExampleSchema = z.object({\n prompt: z.string().min(1),\n context: z.string().optional(),\n});\n\n/**\n * Discovery metadata (via metadata: field in frontmatter).\n * All fields optional; skills can start minimal and add discovery metadata later.\n */\nexport const SkillDiscoveryMetadataSchema = z\n .object({\n tags: z.array(z.string().max(32)).max(10).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string().max(128)).max(20).optional(),\n keywords: z.array(z.string().max(32)).max(30).optional(),\n author: SkillAuthorSchema.optional(),\n version: z.string().optional(),\n examples: z.array(SkillExampleSchema).max(5).optional(),\n })\n .passthrough();\n\n// =============================================================================\n// Complete SKILL.md Frontmatter Schema\n// =============================================================================\n\n/**\n * Complete SKILL.md frontmatter schema.\n * Combines official Agent Skills spec with discovery metadata extension.\n */\nexport const SkillFrontmatterSchema = z.object({\n name: SkillNameSchema,\n description: SkillDescriptionSchema,\n license: z.string().optional(),\n compatibility: z.string().max(500).optional(),\n \"allowed-tools\": z.string().optional(),\n metadata: SkillDiscoveryMetadataSchema.optional(),\n});\n\n// =============================================================================\n// Registry API Schemas\n// =============================================================================\n\n/** Scoped skill name for registry (e.g., @nimblebraininc/strategic-thought-partner) */\nexport const ScopedSkillNameSchema = z\n .string()\n .regex(\n /^@[a-z0-9][a-z0-9-]*\\/[a-z0-9][a-z0-9-]*$/,\n \"Scoped name format: @scope/name\",\n );\n\n/** Skill artifact info for announce endpoint */\nexport const SkillArtifactSchema = z.object({\n filename: z.string().regex(/\\.skill$/, \"Must have .skill extension\"),\n sha256: z.string().length(64),\n size: z.number().int().positive(),\n});\n\n/** Announce request for POST /v1/skills/announce */\nexport const SkillAnnounceRequestSchema = z.object({\n name: ScopedSkillNameSchema,\n version: z.string(),\n skill: SkillFrontmatterSchema,\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: SkillArtifactSchema,\n});\n\n/** Announce response */\nexport const SkillAnnounceResponseSchema = z.object({\n skill: z.string(),\n version: z.string(),\n status: z.enum([\"created\", \"exists\"]),\n});\n\n// =============================================================================\n// Search/List API Schemas\n// =============================================================================\n\n/** Skill search parameters */\nexport const SkillSearchParamsSchema = z.object({\n q: z.string().optional(),\n tags: z.string().optional(),\n category: SkillCategorySchema.optional(),\n sort: z.enum([\"downloads\", \"recent\", \"name\"]).optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Skill summary for search results */\nexport const SkillSummarySchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n});\n\n/** Skill search response */\nexport const SkillSearchResponseSchema = z.object({\n skills: z.array(SkillSummarySchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Skill detail response */\nexport const SkillDetailSchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n license: z.string().optional(),\n compatibility: z.string().optional(),\n allowed_tools: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string()).optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n examples: z.array(SkillExampleSchema).optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.string(),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Skill download info response */\nexport const SkillDownloadInfoSchema = z.object({\n url: z.string(),\n skill: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type SkillName = z.infer<typeof SkillNameSchema>;\nexport type SkillCategory = z.infer<typeof SkillCategorySchema>;\nexport type SkillAuthor = z.infer<typeof SkillAuthorSchema>;\nexport type SkillExample = z.infer<typeof SkillExampleSchema>;\nexport type SkillDiscoveryMetadata = z.infer<\n typeof SkillDiscoveryMetadataSchema\n>;\nexport type SkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;\nexport type ScopedSkillName = z.infer<typeof ScopedSkillNameSchema>;\nexport type SkillArtifact = z.infer<typeof SkillArtifactSchema>;\nexport type SkillAnnounceRequest = z.infer<typeof SkillAnnounceRequestSchema>;\nexport type SkillAnnounceResponse = z.infer<typeof SkillAnnounceResponseSchema>;\nexport type SkillSearchParams = z.infer<typeof SkillSearchParamsSchema>;\nexport type SkillSummary = z.infer<typeof SkillSummarySchema>;\nexport type SkillSearchResponse = z.infer<typeof SkillSearchResponseSchema>;\nexport type SkillDetail = z.infer<typeof SkillDetailSchema>;\nexport type SkillDownloadInfo = z.infer<typeof SkillDownloadInfoSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// mpak.json Schema Definition\n//\n// Defines the schema for mpak.json files placed in GitHub repositories to\n// claim ownership of packages in the registry.\n//\n// Location: https://github.com/{owner}/{repo}/mpak.json\n//\n// Example:\n// {\n// \"$schema\": \"https://cdn.mpak.dev/schemas/2025-10-19/mpak.json\",\n// \"name\": \"@username/package-name\",\n// \"maintainers\": [\"github-username\"]\n// }\n// =============================================================================\n\n/** Schema version (update when making breaking changes) */\nexport const MPAK_SCHEMA_VERSION = \"2025-10-19\";\n\n/** Canonical schema URL for IDE autocompletion */\nexport const MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`;\n\n// =============================================================================\n// Zod Schema\n// =============================================================================\n\n/** Scoped package name pattern */\nconst ScopedPackageNamePattern =\n /^@[a-z0-9][a-z0-9-]{0,38}\\/[a-z0-9][a-z0-9-]{0,213}$/;\n\n/** GitHub username pattern */\nconst GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i;\n\n/** Zod schema for mpak.json */\nexport const MpakJsonSchema = z.object({\n $schema: z.string().optional(),\n name: z\n .string()\n .regex(\n ScopedPackageNamePattern,\n \"Package name must be scoped (e.g., @username/package-name)\",\n ),\n maintainers: z\n .array(\n z\n .string()\n .regex(GitHubUsernamePattern, \"Must be a valid GitHub username\"),\n )\n .min(1, \"At least one maintainer is required\"),\n version: z.string().optional(),\n});\n\n/** TypeScript type for mpak.json */\nexport type MpakJson = z.infer<typeof MpakJsonSchema>;\n\n// =============================================================================\n// JSON Schema (for IDE autocomplete and CDN hosting)\n// =============================================================================\n\n/** JSON Schema definition for mpak.json */\nexport const MPAK_JSON_SCHEMA = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $id: MPAK_SCHEMA_URL,\n title: \"mpak.json\",\n description:\n \"Configuration file for claiming package ownership in the mpak registry\",\n type: \"object\" as const,\n required: [\"name\", \"maintainers\"],\n properties: {\n $schema: {\n type: \"string\" as const,\n description: \"JSON Schema URL for validation\",\n default: MPAK_SCHEMA_URL,\n },\n name: {\n type: \"string\" as const,\n description:\n \"Package name in the registry (must be scoped, e.g., @username/package)\",\n pattern: \"^@[a-z0-9][a-z0-9-]{0,38}/[a-z0-9][a-z0-9-]{0,213}$\",\n },\n maintainers: {\n type: \"array\" as const,\n description: \"GitHub usernames of package maintainers\",\n items: {\n type: \"string\" as const,\n pattern: \"^[a-z0-9][a-z0-9-]{0,38}$\",\n },\n minItems: 1,\n },\n version: {\n type: \"string\" as const,\n description: \"Schema version\",\n },\n },\n additionalProperties: false,\n} as const;\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Generate an example mpak.json content string.\n */\nexport function generateMpakJsonExample(\n packageName: string,\n githubUsername: string,\n): string {\n const example: MpakJson = {\n $schema: MPAK_SCHEMA_URL,\n name: packageName,\n maintainers: [githubUsername],\n };\n return JSON.stringify(example, null, 2);\n}\n","import type { z } from \"zod\";\n\nimport {\n AnnounceRequestSchema,\n BundleDetailSchema,\n BundleSchema,\n BundleSearchResponseSchema,\n DownloadInfoSchema,\n MCPBIndexSchema,\n PackageDetailSchema,\n PackageSchema,\n PackageSearchResponseSchema,\n VersionDetailSchema,\n VersionsResponseSchema,\n} from \"./api-responses.js\";\nimport { UserProfileSchema } from \"./auth.js\";\nimport { MpakJsonSchema } from \"./mpak-json.js\";\nimport { PackageSearchParamsSchema } from \"./package.js\";\nimport {\n SkillAnnounceRequestSchema,\n SkillDetailSchema,\n SkillFrontmatterSchema,\n SkillSearchResponseSchema,\n} from \"./skill.js\";\n\n// =============================================================================\n// Validation Result Type\n// =============================================================================\n\n/**\n * Result of a schema validation.\n * On success, `data` contains the parsed (and typed) value.\n * On failure, `errors` contains human-readable error messages.\n */\nexport type ValidationResult<T> =\n | { success: true; data: T; errors?: undefined }\n | { success: false; data?: undefined; errors: string[] };\n\n// =============================================================================\n// Generic Validator\n// =============================================================================\n\n/**\n * Validate unknown data against a Zod schema, returning a friendly result.\n */\nfunction validate<T>(\n schema: z.ZodType<T>,\n data: unknown,\n): ValidationResult<T> {\n const result = schema.safeParse(data);\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n const errors = result.error.issues.map((issue) => {\n const path = issue.path.length > 0 ? issue.path.join(\".\") : \"(root)\";\n return `${path}: ${issue.message}`;\n });\n\n return { success: false, errors };\n}\n\n// =============================================================================\n// Package & Bundle Validators\n// =============================================================================\n\n/** Validate data as a Package (list item). */\nexport function validatePackage(data: unknown) {\n return validate(PackageSchema, data);\n}\n\n/** Validate data as a PackageDetail (single-package endpoint). */\nexport function validatePackageDetail(data: unknown) {\n return validate(PackageDetailSchema, data);\n}\n\n/** Validate data as a PackageSearchResponse. */\nexport function validatePackageSearchResponse(data: unknown) {\n return validate(PackageSearchResponseSchema, data);\n}\n\n/** Validate search parameters. */\nexport function validatePackageSearchParams(data: unknown) {\n return validate(PackageSearchParamsSchema, data);\n}\n\n/** Validate data as a Bundle (v1 API). */\nexport function validateBundle(data: unknown) {\n return validate(BundleSchema, data);\n}\n\n/** Validate data as a BundleDetail (v1 API). */\nexport function validateBundleDetail(data: unknown) {\n return validate(BundleDetailSchema, data);\n}\n\n/** Validate data as a BundleSearchResponse (v1 API). */\nexport function validateBundleSearchResponse(data: unknown) {\n return validate(BundleSearchResponseSchema, data);\n}\n\n/** Validate data as a VersionsResponse (v1 API). */\nexport function validateVersionsResponse(data: unknown) {\n return validate(VersionsResponseSchema, data);\n}\n\n/** Validate data as a VersionDetail (v1 API). */\nexport function validateVersionDetail(data: unknown) {\n return validate(VersionDetailSchema, data);\n}\n\n/** Validate data as DownloadInfo (v1 API). */\nexport function validateDownloadInfo(data: unknown) {\n return validate(DownloadInfoSchema, data);\n}\n\n/** Validate data as an MCPBIndex. */\nexport function validateMCPBIndex(data: unknown) {\n return validate(MCPBIndexSchema, data);\n}\n\n/** Validate an announce request payload. */\nexport function validateAnnounceRequest(data: unknown) {\n return validate(AnnounceRequestSchema, data);\n}\n\n// =============================================================================\n// Auth Validators\n// =============================================================================\n\n/** Validate data as a UserProfile. */\nexport function validateUserProfile(data: unknown) {\n return validate(UserProfileSchema, data);\n}\n\n// =============================================================================\n// mpak.json Validators\n// =============================================================================\n\n/** Validate data as an mpak.json file. */\nexport function validateMpakJson(data: unknown) {\n return validate(MpakJsonSchema, data);\n}\n\n// =============================================================================\n// Skill Validators\n// =============================================================================\n\n/** Validate SKILL.md frontmatter. */\nexport function validateSkillFrontmatter(data: unknown) {\n return validate(SkillFrontmatterSchema, data);\n}\n\n/** Validate a skill announce request. */\nexport function validateSkillAnnounceRequest(data: unknown) {\n return validate(SkillAnnounceRequestSchema, data);\n}\n\n/** Validate a skill search response. */\nexport function validateSkillSearchResponse(data: unknown) {\n return validate(SkillSearchResponseSchema, data);\n}\n\n/** Validate a skill detail response. */\nexport function validateSkillDetail(data: unknown) {\n return validate(SkillDetailSchema, data);\n}\n"],"mappings":"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","names":["import_zod","import_zod","import_zod","import_zod"]} | ||
| {"version":3,"sources":["../src/index.ts","../src/package.ts","../src/manifest.ts","../src/api-responses.ts","../src/auth.ts","../src/skill.ts","../src/mpak-json.ts","../src/cache.ts","../src/validation.ts"],"sourcesContent":["// Search params and enums\nexport * from \"./package.js\";\n\n// API response schemas (packages, bundles, internal)\nexport * from \"./api-responses.js\";\n\n// Auth schemas\nexport * from \"./auth.js\";\n\n// Skill schemas\nexport * from \"./skill.js\";\n\n// mpak.json schema and utilities\nexport * from \"./mpak-json.js\";\n\n// Versioned manifest schemas\nexport * from \"./manifest.js\";\n\n// Cache metadata\nexport * from \"./cache.js\";\n\n// Validation helpers\nexport * from \"./validation.js\";\n","import { z } from 'zod';\n\nimport { ServerTypeSchema } from './manifest.js';\n\n// Re-export manifest schemas so existing consumers of package.ts are not broken.\nexport {\n CapabilitySchema,\n ManifestAuthorSchema,\n ManifestServerSchema,\n McpbManifestSchema,\n McpConfigSchema,\n ServerTypeSchema,\n UserConfigFieldSchema,\n type Capability,\n type ManifestAuthor,\n type ManifestServer,\n type McpbManifest,\n type McpConfig,\n type ServerType,\n type UserConfigField,\n} from './manifest.js';\n\n// =============================================================================\n// Enums & Search Params\n// =============================================================================\n\n/** Supported operating system platforms */\nexport const PlatformSchema = z.enum(['darwin', 'win32', 'linux']);\n\n/** Sort options for package listings */\nexport const PackageSortSchema = z.enum(['downloads', 'recent', 'name']);\n\n/**\n * Package search query parameters.\n * HTTP query params arrive as strings, so limit/offset accept both.\n */\nexport const PackageSearchParamsSchema = z.object({\n q: z.string().optional(),\n type: ServerTypeSchema.optional(),\n tool: z.string().optional(),\n prompt: z.string().optional(),\n platform: PlatformSchema.optional(),\n sort: PackageSortSchema.optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Bundle search query parameters. */\nexport const BundleSearchParamsSchema = z.object({\n q: z.string().max(200).optional(),\n type: ServerTypeSchema.optional(),\n sort: PackageSortSchema.optional().default('downloads'),\n limit: z.number().min(1).max(100).optional().default(20),\n offset: z.number().min(0).optional().default(0),\n});\n\n/** Bundle download query parameters (os + arch). */\nexport const BundleDownloadParamsSchema = z.object({\n os: z.enum(['darwin', 'linux', 'win32']).describe('Target OS (darwin, linux, win32)').optional(),\n arch: z.enum(['x64', 'arm64']).describe('Target arch (x64, arm64)').optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type PackageSort = z.infer<typeof PackageSortSchema>;\nexport type PackageSearchParams = z.infer<typeof PackageSearchParamsSchema>;\nexport type BundleSearchParams = z.infer<typeof BundleSearchParamsSchema>;\n/** Input type — all fields optional (before defaults are applied). */\nexport type BundleSearchParamsInput = z.input<typeof BundleSearchParamsSchema>;\nexport type BundleDownloadParams = z.infer<typeof BundleDownloadParamsSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Manifest Building Blocks\n// =============================================================================\n\n/** Server runtime type (v0.4 added \"uv\"). */\nexport const ServerTypeSchema = z.enum([\"node\", \"python\", \"binary\", \"uv\"]);\n\n/** User-configurable field declared by a bundle author. */\nexport const UserConfigFieldSchema = z.object({\n type: z.enum([\"string\", \"number\", \"boolean\"]),\n title: z.string().optional(),\n description: z.string().optional(),\n sensitive: z.boolean().optional(),\n required: z.boolean().optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n});\n\n/** MCP server launch configuration (command, args, env). */\nexport const McpConfigSchema = z.object({\n command: z.string(),\n args: z.array(z.string()),\n env: z.record(z.string(), z.string()).optional(),\n});\n\n/** Author information. */\nexport const ManifestAuthorSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n url: z.string().optional(),\n});\n\n/** Server configuration block. */\nexport const ManifestServerSchema = z.object({\n type: ServerTypeSchema,\n entry_point: z.string(),\n mcp_config: McpConfigSchema,\n});\n\n/** MCP capability descriptor (tool, prompt, or resource). */\nexport const CapabilitySchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n// =============================================================================\n// MCPB Manifest Schema\n// =============================================================================\n\n/**\n * MCPB bundle manifest.\n *\n * Compatible with both v0.3 and v0.4 of the upstream spec.\n * The two versions are backward-compatible (v0.4 only adds \"uv\" server type).\n */\nexport const McpbManifestSchema = z.object({\n manifest_version: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string(),\n display_name: z.string().optional(),\n author: ManifestAuthorSchema.optional(),\n homepage: z.string().optional(),\n license: z.string().optional(),\n icon: z.string().optional(),\n repository: z\n .object({\n type: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n user_config: z.record(z.string(), UserConfigFieldSchema).optional(),\n server: ManifestServerSchema,\n tools: z.array(CapabilitySchema).optional(),\n prompts: z.array(CapabilitySchema).optional(),\n resources: z.array(CapabilitySchema).optional(),\n _meta: z.record(z.string(), z.unknown()).optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type ServerType = z.infer<typeof ServerTypeSchema>;\nexport type UserConfigField = z.infer<typeof UserConfigFieldSchema>;\nexport type McpConfig = z.infer<typeof McpConfigSchema>;\nexport type ManifestAuthor = z.infer<typeof ManifestAuthorSchema>;\nexport type ManifestServer = z.infer<typeof ManifestServerSchema>;\nexport type Capability = z.infer<typeof CapabilitySchema>;\nexport type McpbManifest = z.infer<typeof McpbManifestSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Shared Components\n// =============================================================================\n\n/** Package author information */\nexport const PackageAuthorSchema = z.object({\n name: z.string(),\n});\n\n/** Tool exposed by a package */\nexport const PackageToolSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n/** GitHub repository metadata */\nexport const PackageGitHubSchema = z.object({\n repo: z.string(),\n stars: z.number().nullable(),\n forks: z.number().nullable(),\n watchers: z.number().nullable(),\n updated_at: z.string().nullable().optional(),\n});\n\n/** Reusable pagination envelope */\nexport const PaginationSchema = z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n});\n\n// =============================================================================\n// Package Schemas (internal / web UI API)\n// =============================================================================\n\n/** Package list item (search/list endpoints) */\nexport const PackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n author: PackageAuthorSchema.nullable(),\n latest_version: z.string(),\n icon: z.string().nullable(),\n server_type: z.string(),\n tools: z.array(PackageToolSchema),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n claimable: z.boolean().optional(),\n claimed: z.boolean().optional(),\n github: PackageGitHubSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Platform-specific artifact */\nexport const ArtifactSchema = z.object({\n os: z.string(),\n arch: z.string(),\n size_bytes: z.number(),\n digest: z.string(),\n downloads: z.number(),\n});\n\n/** Build/publish provenance attestation */\nexport const ProvenanceSchema = z.object({\n publish_method: z.string().nullable(),\n repository: z.string().nullable(),\n sha: z.string().nullable(),\n});\n\n/** MTF certification level */\nexport const CertificationSchema = z.object({\n level: z.number().nullable(),\n level_name: z.string().nullable(),\n controls_passed: z.number().nullable(),\n controls_failed: z.number().nullable(),\n controls_total: z.number().nullable(),\n});\n\n/** Scorecard finding (prioritized issue to fix) */\nexport const ScorecardFindingSchema = z.object({\n id: z.string(),\n control: z.string(),\n severity: z.enum([\"critical\", \"high\", \"medium\", \"low\", \"info\"]),\n title: z.string(),\n description: z.string(),\n file: z.string().nullable(),\n line: z.number().nullable(),\n remediation: z.string().nullable(),\n});\n\n/** Individual control within a security domain */\nexport const DomainControlSchema = z.object({\n status: z.enum([\"pass\", \"fail\", \"skip\", \"error\"]),\n name: z.string(),\n findings_count: z.number(),\n});\n\n/** Security domain (group of related controls) */\nexport const SecurityDomainSchema = z.object({\n display_name: z.string(),\n controls_passed: z.number(),\n controls_total: z.number(),\n controls: z.record(z.string(), DomainControlSchema),\n});\n\n/** Security scan summary */\nexport const SecurityScanSchema = z.object({\n status: z.enum([\"pending\", \"scanning\", \"completed\", \"failed\"]),\n risk_score: z.enum([\"CRITICAL\", \"HIGH\", \"MEDIUM\", \"LOW\"]).nullable(),\n scanned_at: z.union([z.string(), z.date()]).nullable(),\n scanner_version: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n summary: z\n .object({\n components: z.number(),\n vulnerabilities: z.object({\n critical: z.number(),\n high: z.number(),\n medium: z.number(),\n low: z.number(),\n }),\n secrets: z.number(),\n malicious: z.number(),\n code_issues: z.number(),\n })\n .optional(),\n domains: z.record(z.string(), SecurityDomainSchema).optional(),\n findings: z.array(ScorecardFindingSchema).optional(),\n});\n\n/** Package version detail */\nexport const PackageVersionSchema = z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(ArtifactSchema).optional(),\n readme: z.string().nullable().optional(),\n provenance: ProvenanceSchema.nullable().optional(),\n release_url: z.string().nullable().optional(),\n prerelease: z.boolean().optional(),\n manifest: z.record(z.string(), z.unknown()).nullable().optional(),\n security_scan: SecurityScanSchema.nullable().optional(),\n});\n\n/** Claiming status for a package */\nexport const PackageClaimingSchema = z.object({\n claimable: z.boolean(),\n claimed: z.boolean(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n});\n\n/** Full package detail (single-package endpoint) */\nexport const PackageDetailSchema = PackageSchema.extend({\n homepage: z.string().nullable(),\n license: z.string().nullable(),\n claiming: PackageClaimingSchema,\n versions: z.array(PackageVersionSchema),\n});\n\n/** Package search response envelope */\nexport const PackageSearchResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n});\n\n// =============================================================================\n// V1 Bundle API Schemas\n// =============================================================================\n\n/** Platform info (os + arch) */\nexport const PlatformInfoSchema = z.object({\n os: z.string(),\n arch: z.string(),\n});\n\n/** Full provenance (v1 API) */\nexport const FullProvenanceSchema = z.object({\n schema_version: z.string(),\n provider: z.string(),\n repository: z.string(),\n sha: z.string(),\n});\n\n/** Bundle summary (v1 API) */\nexport const BundleSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n author: PackageAuthorSchema.nullable().optional(),\n latest_version: z.string(),\n icon: z.string().nullable().optional(),\n server_type: z.string().nullable().optional(),\n tools: z.array(PackageToolSchema).optional(),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n provenance: FullProvenanceSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Bundle detail (v1 API) */\nexport const BundleDetailSchema = BundleSchema.extend({\n homepage: z.string().nullable().optional(),\n license: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Bundle search response (v1 API) */\nexport const BundleSearchResponseSchema = z.object({\n bundles: z.array(BundleSchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Version info with platforms */\nexport const VersionInfoSchema = z.object({\n version: z.string(),\n artifacts_count: z.number(),\n platforms: z.array(PlatformInfoSchema),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable().optional(),\n});\n\n/** Versions listing response (v1 API) */\nexport const VersionsResponseSchema = z.object({\n name: z.string(),\n latest: z.string(),\n versions: z.array(VersionInfoSchema),\n});\n\n/** Download info (v1 API) */\nexport const DownloadInfoSchema = z.object({\n url: z.string(),\n bundle: z.object({\n name: z.string(),\n version: z.string(),\n platform: PlatformInfoSchema,\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string().optional(),\n});\n\n/** Version detail with artifacts (v1 API) */\nexport const VersionDetailSchema = z.object({\n name: z.string(),\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(\n z.object({\n platform: PlatformInfoSchema,\n digest: z.string(),\n size: z.number(),\n download_url: z.string(),\n source_url: z.string().optional(),\n }),\n ),\n manifest: z.record(z.string(), z.unknown()),\n release: z\n .object({\n tag: z.string().nullable(),\n url: z.string().nullable(),\n })\n .optional(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable(),\n});\n\n/** MCPB index response */\nexport const MCPBIndexSchema = z.object({\n index_version: z.string(),\n mimeType: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string().nullable(),\n bundles: z.array(\n z.object({\n mimeType: z.string().nullable(),\n digest: z.string(),\n size: z.number(),\n platform: PlatformInfoSchema,\n urls: z.array(z.string()),\n }),\n ),\n annotations: z.record(z.string(), z.string()).optional(),\n});\n\n/** Announce request (per-artifact from GitHub Actions) */\nexport const AnnounceRequestSchema = z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: z.object({\n filename: z.string(),\n os: z.string(),\n arch: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n});\n\n/** Announce response (per-artifact, idempotent) */\nexport const AnnounceResponseSchema = z.object({\n package: z.string(),\n version: z.string(),\n artifact: z.object({\n os: z.string(),\n arch: z.string(),\n filename: z.string(),\n }),\n total_artifacts: z.number(),\n status: z.enum([\"created\", \"updated\"]),\n});\n\n// =============================================================================\n// Internal API Schemas (web UI, not exposed publicly)\n// =============================================================================\n\n/** Publish response */\nexport const PublishResponseSchema = z.object({\n success: z.boolean(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n }),\n sha256: z.string(),\n size: z.number(),\n url: z.string(),\n auto_claimed: z.boolean().optional(),\n message: z.string().optional(),\n});\n\n/** Internal download response */\nexport const InternalDownloadResponseSchema = z.object({\n url: z.string(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n/** Claim status response */\nexport const ClaimStatusResponseSchema = z.object({\n claimable: z.boolean(),\n reason: z.string().optional(),\n claimed_by: z.string().nullable().optional(),\n claimed_at: z.union([z.string(), z.date()]).nullable().optional(),\n package_name: z.string().optional(),\n github_repo: z.string().nullable().optional(),\n instructions: z\n .object({\n steps: z.array(z.string()),\n mpak_json_example: z.string(),\n verification_url: z.string().nullable(),\n })\n .optional(),\n});\n\n/** Claim response */\nexport const ClaimResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n package: z.object({\n name: z.string(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n }),\n verification: z.object({\n mpak_json_url: z.string().nullable().optional(),\n verified_at: z.string(),\n }),\n});\n\n/** My packages response */\nexport const MyPackagesResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n/** Unclaimed package summary */\nexport const UnclaimedPackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n server_type: z.string().nullable(),\n latest_version: z.string(),\n downloads: z.number(),\n github_repo: z.string().nullable(),\n created_at: z.union([z.string(), z.date()]),\n});\n\n/** Unclaimed packages response */\nexport const UnclaimedPackagesResponseSchema = z.object({\n packages: z.array(UnclaimedPackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\n// Core types\nexport type PackageAuthor = z.infer<typeof PackageAuthorSchema>;\nexport type PackageTool = z.infer<typeof PackageToolSchema>;\nexport type PackageGitHub = z.infer<typeof PackageGitHubSchema>;\nexport type Package = z.infer<typeof PackageSchema>;\nexport type Artifact = z.infer<typeof ArtifactSchema>;\nexport type Provenance = z.infer<typeof ProvenanceSchema>;\nexport type ScorecardFinding = z.infer<typeof ScorecardFindingSchema>;\nexport type DomainControl = z.infer<typeof DomainControlSchema>;\nexport type SecurityDomain = z.infer<typeof SecurityDomainSchema>;\nexport type Certification = z.infer<typeof CertificationSchema>;\nexport type SecurityScan = z.infer<typeof SecurityScanSchema>;\nexport type PackageVersion = z.infer<typeof PackageVersionSchema>;\nexport type PackageClaiming = z.infer<typeof PackageClaimingSchema>;\nexport type PackageDetail = z.infer<typeof PackageDetailSchema>;\nexport type PackageSearchResponse = z.infer<typeof PackageSearchResponseSchema>;\n\n// V1 API types\nexport type PlatformInfo = z.infer<typeof PlatformInfoSchema>;\nexport type FullProvenance = z.infer<typeof FullProvenanceSchema>;\nexport type Bundle = z.infer<typeof BundleSchema>;\nexport type BundleDetail = z.infer<typeof BundleDetailSchema>;\nexport type BundleSearchResponse = z.infer<typeof BundleSearchResponseSchema>;\nexport type VersionInfo = z.infer<typeof VersionInfoSchema>;\nexport type VersionsResponse = z.infer<typeof VersionsResponseSchema>;\nexport type DownloadInfo = z.infer<typeof DownloadInfoSchema>;\nexport type VersionDetail = z.infer<typeof VersionDetailSchema>;\nexport type MCPBIndex = z.infer<typeof MCPBIndexSchema>;\nexport type AnnounceRequest = z.infer<typeof AnnounceRequestSchema>;\nexport type AnnounceResponse = z.infer<typeof AnnounceResponseSchema>;\n\n// Internal API types\nexport type Pagination = z.infer<typeof PaginationSchema>;\nexport type PublishResponse = z.infer<typeof PublishResponseSchema>;\nexport type InternalDownloadResponse = z.infer<\n typeof InternalDownloadResponseSchema\n>;\nexport type ClaimStatusResponse = z.infer<typeof ClaimStatusResponseSchema>;\nexport type ClaimResponse = z.infer<typeof ClaimResponseSchema>;\nexport type MyPackagesResponse = z.infer<typeof MyPackagesResponseSchema>;\nexport type UnclaimedPackage = z.infer<typeof UnclaimedPackageSchema>;\nexport type UnclaimedPackagesResponse = z.infer<\n typeof UnclaimedPackagesResponseSchema\n>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Auth Schemas\n// =============================================================================\n\n/** User profile response from /app/auth/me */\nexport const UserProfileSchema = z.object({\n id: z.string(),\n email: z.string().email(),\n emailVerified: z.boolean(),\n username: z.string().nullable(),\n name: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n githubUsername: z.string().nullable(),\n githubLinked: z.boolean(),\n verified: z.boolean(),\n publishedBundles: z.number(),\n totalDownloads: z.number(),\n role: z.string().nullable(),\n createdAt: z.union([z.string(), z.date()]).nullable(),\n lastLoginAt: z.union([z.string(), z.date()]).nullable(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n","import { z } from 'zod';\n\n// =============================================================================\n// Agent Skills Specification - Skill Frontmatter Schema\n// https://agentskills.io/specification\n// =============================================================================\n\n/**\n * Skill name validation.\n * 1-64 characters, lowercase alphanumeric with single hyphens,\n * cannot start or end with hyphen.\n */\nexport const SkillNameSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(\n /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,\n 'Lowercase alphanumeric with single hyphens, cannot start/end with hyphen',\n );\n\n/** Skill description (1-1024 characters) */\nexport const SkillDescriptionSchema = z.string().min(1).max(1024);\n\n// =============================================================================\n// Discovery Metadata Extension (via metadata: field)\n// =============================================================================\n\n/** Category taxonomy for skill discovery */\nexport const SkillCategorySchema = z.enum([\n 'development',\n 'writing',\n 'research',\n 'consulting',\n 'data',\n 'design',\n 'operations',\n 'security',\n 'other',\n]);\n\n/** Author information for attribution */\nexport const SkillAuthorSchema = z.object({\n name: z.string().min(1),\n url: z.string().url().optional(),\n email: z.string().email().optional(),\n});\n\n/** Example usage for discovery */\nexport const SkillExampleSchema = z.object({\n prompt: z.string().min(1),\n context: z.string().optional(),\n});\n\n/**\n * Discovery metadata (via metadata: field in frontmatter).\n * All fields optional; skills can start minimal and add discovery metadata later.\n */\nexport const SkillDiscoveryMetadataSchema = z\n .object({\n tags: z.array(z.string().max(32)).max(10).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string().max(128)).max(20).optional(),\n keywords: z.array(z.string().max(32)).max(30).optional(),\n author: SkillAuthorSchema.optional(),\n version: z.string().optional(),\n examples: z.array(SkillExampleSchema).max(5).optional(),\n })\n .passthrough();\n\n// =============================================================================\n// Complete SKILL.md Frontmatter Schema\n// =============================================================================\n\n/**\n * Complete SKILL.md frontmatter schema.\n * Combines official Agent Skills spec with discovery metadata extension.\n */\nexport const SkillFrontmatterSchema = z.object({\n name: SkillNameSchema,\n description: SkillDescriptionSchema,\n version: z.string().optional(),\n license: z.string().optional(),\n compatibility: z.string().max(500).optional(),\n 'allowed-tools': z.string().optional(),\n metadata: SkillDiscoveryMetadataSchema.optional(),\n});\n\n// =============================================================================\n// Registry API Schemas\n// =============================================================================\n\n/** Scoped skill name for registry (e.g., @nimblebraininc/strategic-thought-partner) */\nexport const ScopedSkillNameSchema = z\n .string()\n .regex(/^@[a-z0-9][a-z0-9-]*\\/[a-z0-9][a-z0-9-]*$/, 'Scoped name format: @scope/name');\n\n/** Skill artifact info for announce endpoint */\nexport const SkillArtifactSchema = z.object({\n filename: z.string().regex(/\\.skill$/, 'Must have .skill extension'),\n sha256: z.string().length(64),\n size: z.number().int().positive(),\n});\n\n/** Announce request for POST /v1/skills/announce */\nexport const SkillAnnounceRequestSchema = z.object({\n name: ScopedSkillNameSchema,\n version: z.string(),\n skill: SkillFrontmatterSchema,\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: SkillArtifactSchema,\n});\n\n/** Announce response */\nexport const SkillAnnounceResponseSchema = z.object({\n skill: z.string(),\n version: z.string(),\n status: z.enum(['created', 'exists']),\n});\n\n// =============================================================================\n// Search/List API Schemas\n// =============================================================================\n\n/** Skill search parameters */\nexport const SkillSearchParamsSchema = z.object({\n q: z.string().optional(),\n tags: z.string().optional(),\n category: SkillCategorySchema.optional(),\n sort: z.enum(['downloads', 'recent', 'name']).optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Skill summary for search results */\nexport const SkillSummarySchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n});\n\n/** Skill search response */\nexport const SkillSearchResponseSchema = z.object({\n skills: z.array(SkillSummarySchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Skill detail response */\nexport const SkillDetailSchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n license: z.string().optional(),\n compatibility: z.string().optional(),\n allowed_tools: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string()).optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n examples: z.array(SkillExampleSchema).optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.string(),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Skill download info response */\nexport const SkillDownloadInfoSchema = z.object({\n url: z.string(),\n skill: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type SkillName = z.infer<typeof SkillNameSchema>;\nexport type SkillCategory = z.infer<typeof SkillCategorySchema>;\nexport type SkillAuthor = z.infer<typeof SkillAuthorSchema>;\nexport type SkillExample = z.infer<typeof SkillExampleSchema>;\nexport type SkillDiscoveryMetadata = z.infer<typeof SkillDiscoveryMetadataSchema>;\nexport type SkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;\nexport type ScopedSkillName = z.infer<typeof ScopedSkillNameSchema>;\nexport type SkillArtifact = z.infer<typeof SkillArtifactSchema>;\nexport type SkillAnnounceRequest = z.infer<typeof SkillAnnounceRequestSchema>;\nexport type SkillAnnounceResponse = z.infer<typeof SkillAnnounceResponseSchema>;\nexport type SkillSearchParams = z.infer<typeof SkillSearchParamsSchema>;\n/** Input type — all fields optional (before defaults are applied). */\nexport type SkillSearchParamsInput = z.input<typeof SkillSearchParamsSchema>;\nexport type SkillSummary = z.infer<typeof SkillSummarySchema>;\nexport type SkillSearchResponse = z.infer<typeof SkillSearchResponseSchema>;\nexport type SkillDetail = z.infer<typeof SkillDetailSchema>;\nexport type SkillDownloadInfo = z.infer<typeof SkillDownloadInfoSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// mpak.json Schema Definition\n//\n// Defines the schema for mpak.json files placed in GitHub repositories to\n// claim ownership of packages in the registry.\n//\n// Location: https://github.com/{owner}/{repo}/mpak.json\n//\n// Example:\n// {\n// \"$schema\": \"https://cdn.mpak.dev/schemas/2025-10-19/mpak.json\",\n// \"name\": \"@username/package-name\",\n// \"maintainers\": [\"github-username\"]\n// }\n// =============================================================================\n\n/** Schema version (update when making breaking changes) */\nexport const MPAK_SCHEMA_VERSION = \"2025-10-19\";\n\n/** Canonical schema URL for IDE autocompletion */\nexport const MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`;\n\n// =============================================================================\n// Zod Schema\n// =============================================================================\n\n/** Scoped package name pattern */\nconst ScopedPackageNamePattern =\n /^@[a-z0-9][a-z0-9-]{0,38}\\/[a-z0-9][a-z0-9-]{0,213}$/;\n\n/** GitHub username pattern */\nconst GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i;\n\n/** Zod schema for mpak.json */\nexport const MpakJsonSchema = z.object({\n $schema: z.string().optional(),\n name: z\n .string()\n .regex(\n ScopedPackageNamePattern,\n \"Package name must be scoped (e.g., @username/package-name)\",\n ),\n maintainers: z\n .array(\n z\n .string()\n .regex(GitHubUsernamePattern, \"Must be a valid GitHub username\"),\n )\n .min(1, \"At least one maintainer is required\"),\n version: z.string().optional(),\n});\n\n/** TypeScript type for mpak.json */\nexport type MpakJson = z.infer<typeof MpakJsonSchema>;\n\n// =============================================================================\n// JSON Schema (for IDE autocomplete and CDN hosting)\n// =============================================================================\n\n/** JSON Schema definition for mpak.json */\nexport const MPAK_JSON_SCHEMA = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $id: MPAK_SCHEMA_URL,\n title: \"mpak.json\",\n description:\n \"Configuration file for claiming package ownership in the mpak registry\",\n type: \"object\" as const,\n required: [\"name\", \"maintainers\"],\n properties: {\n $schema: {\n type: \"string\" as const,\n description: \"JSON Schema URL for validation\",\n default: MPAK_SCHEMA_URL,\n },\n name: {\n type: \"string\" as const,\n description:\n \"Package name in the registry (must be scoped, e.g., @username/package)\",\n pattern: \"^@[a-z0-9][a-z0-9-]{0,38}/[a-z0-9][a-z0-9-]{0,213}$\",\n },\n maintainers: {\n type: \"array\" as const,\n description: \"GitHub usernames of package maintainers\",\n items: {\n type: \"string\" as const,\n pattern: \"^[a-z0-9][a-z0-9-]{0,38}$\",\n },\n minItems: 1,\n },\n version: {\n type: \"string\" as const,\n description: \"Schema version\",\n },\n },\n additionalProperties: false,\n} as const;\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Generate an example mpak.json content string.\n */\nexport function generateMpakJsonExample(\n packageName: string,\n githubUsername: string,\n): string {\n const example: MpakJson = {\n $schema: MPAK_SCHEMA_URL,\n name: packageName,\n maintainers: [githubUsername],\n };\n return JSON.stringify(example, null, 2);\n}\n","import { z } from \"zod\";\nimport { PlatformInfoSchema } from \"./api-responses.js\";\n\n// =============================================================================\n// Cache Metadata\n// =============================================================================\n\n/**\n * Zod schema for the `.mpak-meta.json` file written alongside cached bundles.\n *\n * `.strict()` rejects unknown fields so corrupted or hand-edited files\n * are caught on read rather than silently accepted.\n */\nexport const CacheMetadataSchema = z\n .object({\n version: z.string(),\n pulledAt: z.string(),\n lastCheckedAt: z.string().optional(),\n platform: PlatformInfoSchema,\n })\n .strict();\n\nexport type CacheMetadata = z.infer<typeof CacheMetadataSchema>;\n\n// =============================================================================\n// Cached Bundle Info\n// =============================================================================\n\n/**\n * Summary of a bundle stored in the local cache.\n * Returned by `BundleCache.listCachedBundles()` and consumed by CLI\n * commands like `mpak outdated`.\n */\nexport interface CachedBundleInfo {\n name: string;\n version: string;\n pulledAt: string;\n cacheDir: string;\n}\n","import type { z } from \"zod\";\n\nimport {\n AnnounceRequestSchema,\n BundleDetailSchema,\n BundleSchema,\n BundleSearchResponseSchema,\n DownloadInfoSchema,\n MCPBIndexSchema,\n PackageDetailSchema,\n PackageSchema,\n PackageSearchResponseSchema,\n VersionDetailSchema,\n VersionsResponseSchema,\n} from \"./api-responses.js\";\nimport { UserProfileSchema } from \"./auth.js\";\nimport { MpakJsonSchema } from \"./mpak-json.js\";\nimport { PackageSearchParamsSchema } from \"./package.js\";\nimport {\n SkillAnnounceRequestSchema,\n SkillDetailSchema,\n SkillFrontmatterSchema,\n SkillSearchResponseSchema,\n} from \"./skill.js\";\n\n// =============================================================================\n// Validation Result Type\n// =============================================================================\n\n/**\n * Result of a schema validation.\n * On success, `data` contains the parsed (and typed) value.\n * On failure, `errors` contains human-readable error messages.\n */\nexport type ValidationResult<T> =\n | { success: true; data: T; errors?: undefined }\n | { success: false; data?: undefined; errors: string[] };\n\n// =============================================================================\n// Generic Validator\n// =============================================================================\n\n/**\n * Validate unknown data against a Zod schema, returning a friendly result.\n */\nfunction validate<T>(\n schema: z.ZodType<T>,\n data: unknown,\n): ValidationResult<T> {\n const result = schema.safeParse(data);\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n const errors = result.error.issues.map((issue) => {\n const path = issue.path.length > 0 ? issue.path.join(\".\") : \"(root)\";\n return `${path}: ${issue.message}`;\n });\n\n return { success: false, errors };\n}\n\n// =============================================================================\n// Package & Bundle Validators\n// =============================================================================\n\n/** Validate data as a Package (list item). */\nexport function validatePackage(data: unknown) {\n return validate(PackageSchema, data);\n}\n\n/** Validate data as a PackageDetail (single-package endpoint). */\nexport function validatePackageDetail(data: unknown) {\n return validate(PackageDetailSchema, data);\n}\n\n/** Validate data as a PackageSearchResponse. */\nexport function validatePackageSearchResponse(data: unknown) {\n return validate(PackageSearchResponseSchema, data);\n}\n\n/** Validate search parameters. */\nexport function validatePackageSearchParams(data: unknown) {\n return validate(PackageSearchParamsSchema, data);\n}\n\n/** Validate data as a Bundle (v1 API). */\nexport function validateBundle(data: unknown) {\n return validate(BundleSchema, data);\n}\n\n/** Validate data as a BundleDetail (v1 API). */\nexport function validateBundleDetail(data: unknown) {\n return validate(BundleDetailSchema, data);\n}\n\n/** Validate data as a BundleSearchResponse (v1 API). */\nexport function validateBundleSearchResponse(data: unknown) {\n return validate(BundleSearchResponseSchema, data);\n}\n\n/** Validate data as a VersionsResponse (v1 API). */\nexport function validateVersionsResponse(data: unknown) {\n return validate(VersionsResponseSchema, data);\n}\n\n/** Validate data as a VersionDetail (v1 API). */\nexport function validateVersionDetail(data: unknown) {\n return validate(VersionDetailSchema, data);\n}\n\n/** Validate data as DownloadInfo (v1 API). */\nexport function validateDownloadInfo(data: unknown) {\n return validate(DownloadInfoSchema, data);\n}\n\n/** Validate data as an MCPBIndex. */\nexport function validateMCPBIndex(data: unknown) {\n return validate(MCPBIndexSchema, data);\n}\n\n/** Validate an announce request payload. */\nexport function validateAnnounceRequest(data: unknown) {\n return validate(AnnounceRequestSchema, data);\n}\n\n// =============================================================================\n// Auth Validators\n// =============================================================================\n\n/** Validate data as a UserProfile. */\nexport function validateUserProfile(data: unknown) {\n return validate(UserProfileSchema, data);\n}\n\n// =============================================================================\n// mpak.json Validators\n// =============================================================================\n\n/** Validate data as an mpak.json file. */\nexport function validateMpakJson(data: unknown) {\n return validate(MpakJsonSchema, data);\n}\n\n// =============================================================================\n// Skill Validators\n// =============================================================================\n\n/** Validate SKILL.md frontmatter. */\nexport function validateSkillFrontmatter(data: unknown) {\n return validate(SkillFrontmatterSchema, data);\n}\n\n/** Validate a skill announce request. */\nexport function validateSkillAnnounceRequest(data: unknown) {\n return validate(SkillAnnounceRequestSchema, data);\n}\n\n/** Validate a skill search response. */\nexport function validateSkillSearchResponse(data: unknown) {\n return validate(SkillSearchResponseSchema, data);\n}\n\n/** Validate a skill detail response. */\nexport function validateSkillDetail(data: unknown) {\n return validate(SkillDetailSchema, data);\n}\n"],"mappings":"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","names":["import_zod","import_zod","import_zod","import_zod","import_zod","import_zod"]} |
+455
-374
| // src/package.ts | ||
| import { z as z2 } from "zod"; | ||
| // src/manifest.ts | ||
| import { z } from "zod"; | ||
| var ServerTypeSchema = z.enum(["node", "python", "binary"]); | ||
| var PlatformSchema = z.enum(["darwin", "win32", "linux"]); | ||
| var PackageSortSchema = z.enum(["downloads", "recent", "name"]); | ||
| var PackageSearchParamsSchema = z.object({ | ||
| q: z.string().optional(), | ||
| var ServerTypeSchema = z.enum(["node", "python", "binary", "uv"]); | ||
| var UserConfigFieldSchema = z.object({ | ||
| type: z.enum(["string", "number", "boolean"]), | ||
| title: z.string().optional(), | ||
| description: z.string().optional(), | ||
| sensitive: z.boolean().optional(), | ||
| required: z.boolean().optional(), | ||
| default: z.union([z.string(), z.number(), z.boolean()]).optional() | ||
| }); | ||
| var McpConfigSchema = z.object({ | ||
| command: z.string(), | ||
| args: z.array(z.string()), | ||
| env: z.record(z.string(), z.string()).optional() | ||
| }); | ||
| var ManifestAuthorSchema = z.object({ | ||
| name: z.string(), | ||
| email: z.string().optional(), | ||
| url: z.string().optional() | ||
| }); | ||
| var ManifestServerSchema = z.object({ | ||
| type: ServerTypeSchema, | ||
| entry_point: z.string(), | ||
| mcp_config: McpConfigSchema | ||
| }); | ||
| var CapabilitySchema = z.object({ | ||
| name: z.string(), | ||
| description: z.string().optional() | ||
| }); | ||
| var McpbManifestSchema = z.object({ | ||
| manifest_version: z.string(), | ||
| name: z.string(), | ||
| version: z.string(), | ||
| description: z.string(), | ||
| display_name: z.string().optional(), | ||
| author: ManifestAuthorSchema.optional(), | ||
| homepage: z.string().optional(), | ||
| license: z.string().optional(), | ||
| icon: z.string().optional(), | ||
| repository: z.object({ | ||
| type: z.string().optional(), | ||
| url: z.string().optional() | ||
| }).optional(), | ||
| user_config: z.record(z.string(), UserConfigFieldSchema).optional(), | ||
| server: ManifestServerSchema, | ||
| tools: z.array(CapabilitySchema).optional(), | ||
| prompts: z.array(CapabilitySchema).optional(), | ||
| resources: z.array(CapabilitySchema).optional(), | ||
| _meta: z.record(z.string(), z.unknown()).optional() | ||
| }); | ||
| // src/package.ts | ||
| var PlatformSchema = z2.enum(["darwin", "win32", "linux"]); | ||
| var PackageSortSchema = z2.enum(["downloads", "recent", "name"]); | ||
| var PackageSearchParamsSchema = z2.object({ | ||
| q: z2.string().optional(), | ||
| type: ServerTypeSchema.optional(), | ||
| tool: z.string().optional(), | ||
| prompt: z.string().optional(), | ||
| tool: z2.string().optional(), | ||
| prompt: z2.string().optional(), | ||
| platform: PlatformSchema.optional(), | ||
| sort: PackageSortSchema.optional(), | ||
| limit: z.union([z.string(), z.number()]).optional(), | ||
| offset: z.union([z.string(), z.number()]).optional() | ||
| limit: z2.union([z2.string(), z2.number()]).optional(), | ||
| offset: z2.union([z2.string(), z2.number()]).optional() | ||
| }); | ||
| var BundleSearchParamsSchema = z2.object({ | ||
| q: z2.string().max(200).optional(), | ||
| type: ServerTypeSchema.optional(), | ||
| sort: PackageSortSchema.optional().default("downloads"), | ||
| limit: z2.number().min(1).max(100).optional().default(20), | ||
| offset: z2.number().min(0).optional().default(0) | ||
| }); | ||
| var BundleDownloadParamsSchema = z2.object({ | ||
| os: z2.enum(["darwin", "linux", "win32"]).describe("Target OS (darwin, linux, win32)").optional(), | ||
| arch: z2.enum(["x64", "arm64"]).describe("Target arch (x64, arm64)").optional() | ||
| }); | ||
| // src/api-responses.ts | ||
| import { z as z2 } from "zod"; | ||
| var PackageAuthorSchema = z2.object({ | ||
| name: z2.string() | ||
| import { z as z3 } from "zod"; | ||
| var PackageAuthorSchema = z3.object({ | ||
| name: z3.string() | ||
| }); | ||
| var PackageToolSchema = z2.object({ | ||
| name: z2.string(), | ||
| description: z2.string().optional() | ||
| var PackageToolSchema = z3.object({ | ||
| name: z3.string(), | ||
| description: z3.string().optional() | ||
| }); | ||
| var PackageGitHubSchema = z2.object({ | ||
| repo: z2.string(), | ||
| stars: z2.number().nullable(), | ||
| forks: z2.number().nullable(), | ||
| watchers: z2.number().nullable(), | ||
| updated_at: z2.string().nullable().optional() | ||
| var PackageGitHubSchema = z3.object({ | ||
| repo: z3.string(), | ||
| stars: z3.number().nullable(), | ||
| forks: z3.number().nullable(), | ||
| watchers: z3.number().nullable(), | ||
| updated_at: z3.string().nullable().optional() | ||
| }); | ||
| var PaginationSchema = z2.object({ | ||
| limit: z2.number(), | ||
| offset: z2.number(), | ||
| has_more: z2.boolean() | ||
| var PaginationSchema = z3.object({ | ||
| limit: z3.number(), | ||
| offset: z3.number(), | ||
| has_more: z3.boolean() | ||
| }); | ||
| var PackageSchema = z2.object({ | ||
| name: z2.string(), | ||
| display_name: z2.string().nullable(), | ||
| description: z2.string().nullable(), | ||
| var PackageSchema = z3.object({ | ||
| name: z3.string(), | ||
| display_name: z3.string().nullable(), | ||
| description: z3.string().nullable(), | ||
| author: PackageAuthorSchema.nullable(), | ||
| latest_version: z2.string(), | ||
| icon: z2.string().nullable(), | ||
| server_type: z2.string(), | ||
| tools: z2.array(PackageToolSchema), | ||
| downloads: z2.number(), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| verified: z2.boolean(), | ||
| claimable: z2.boolean().optional(), | ||
| claimed: z2.boolean().optional(), | ||
| latest_version: z3.string(), | ||
| icon: z3.string().nullable(), | ||
| server_type: z3.string(), | ||
| tools: z3.array(PackageToolSchema), | ||
| downloads: z3.number(), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| verified: z3.boolean(), | ||
| claimable: z3.boolean().optional(), | ||
| claimed: z3.boolean().optional(), | ||
| github: PackageGitHubSchema.nullable().optional(), | ||
| certification_level: z2.number().nullable().optional() | ||
| certification_level: z3.number().nullable().optional() | ||
| }); | ||
| var ArtifactSchema = z2.object({ | ||
| os: z2.string(), | ||
| arch: z2.string(), | ||
| size_bytes: z2.number(), | ||
| digest: z2.string(), | ||
| downloads: z2.number() | ||
| var ArtifactSchema = z3.object({ | ||
| os: z3.string(), | ||
| arch: z3.string(), | ||
| size_bytes: z3.number(), | ||
| digest: z3.string(), | ||
| downloads: z3.number() | ||
| }); | ||
| var ProvenanceSchema = z2.object({ | ||
| publish_method: z2.string().nullable(), | ||
| repository: z2.string().nullable(), | ||
| sha: z2.string().nullable() | ||
| var ProvenanceSchema = z3.object({ | ||
| publish_method: z3.string().nullable(), | ||
| repository: z3.string().nullable(), | ||
| sha: z3.string().nullable() | ||
| }); | ||
| var CertificationSchema = z2.object({ | ||
| level: z2.number().nullable(), | ||
| level_name: z2.string().nullable(), | ||
| controls_passed: z2.number().nullable(), | ||
| controls_failed: z2.number().nullable(), | ||
| controls_total: z2.number().nullable() | ||
| var CertificationSchema = z3.object({ | ||
| level: z3.number().nullable(), | ||
| level_name: z3.string().nullable(), | ||
| controls_passed: z3.number().nullable(), | ||
| controls_failed: z3.number().nullable(), | ||
| controls_total: z3.number().nullable() | ||
| }); | ||
| var ScorecardFindingSchema = z2.object({ | ||
| id: z2.string(), | ||
| control: z2.string(), | ||
| severity: z2.enum(["critical", "high", "medium", "low", "info"]), | ||
| title: z2.string(), | ||
| description: z2.string(), | ||
| file: z2.string().nullable(), | ||
| line: z2.number().nullable(), | ||
| remediation: z2.string().nullable() | ||
| var ScorecardFindingSchema = z3.object({ | ||
| id: z3.string(), | ||
| control: z3.string(), | ||
| severity: z3.enum(["critical", "high", "medium", "low", "info"]), | ||
| title: z3.string(), | ||
| description: z3.string(), | ||
| file: z3.string().nullable(), | ||
| line: z3.number().nullable(), | ||
| remediation: z3.string().nullable() | ||
| }); | ||
| var DomainControlSchema = z2.object({ | ||
| status: z2.enum(["pass", "fail", "skip", "error"]), | ||
| name: z2.string(), | ||
| findings_count: z2.number() | ||
| var DomainControlSchema = z3.object({ | ||
| status: z3.enum(["pass", "fail", "skip", "error"]), | ||
| name: z3.string(), | ||
| findings_count: z3.number() | ||
| }); | ||
| var SecurityDomainSchema = z2.object({ | ||
| display_name: z2.string(), | ||
| controls_passed: z2.number(), | ||
| controls_total: z2.number(), | ||
| controls: z2.record(z2.string(), DomainControlSchema) | ||
| var SecurityDomainSchema = z3.object({ | ||
| display_name: z3.string(), | ||
| controls_passed: z3.number(), | ||
| controls_total: z3.number(), | ||
| controls: z3.record(z3.string(), DomainControlSchema) | ||
| }); | ||
| var SecurityScanSchema = z2.object({ | ||
| status: z2.enum(["pending", "scanning", "completed", "failed"]), | ||
| risk_score: z2.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]).nullable(), | ||
| scanned_at: z2.union([z2.string(), z2.date()]).nullable(), | ||
| var SecurityScanSchema = z3.object({ | ||
| status: z3.enum(["pending", "scanning", "completed", "failed"]), | ||
| risk_score: z3.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]).nullable(), | ||
| scanned_at: z3.union([z3.string(), z3.date()]).nullable(), | ||
| scanner_version: z3.string().nullable().optional(), | ||
| certification: CertificationSchema.nullable().optional(), | ||
| summary: z2.object({ | ||
| components: z2.number(), | ||
| vulnerabilities: z2.object({ | ||
| critical: z2.number(), | ||
| high: z2.number(), | ||
| medium: z2.number(), | ||
| low: z2.number() | ||
| summary: z3.object({ | ||
| components: z3.number(), | ||
| vulnerabilities: z3.object({ | ||
| critical: z3.number(), | ||
| high: z3.number(), | ||
| medium: z3.number(), | ||
| low: z3.number() | ||
| }), | ||
| secrets: z2.number(), | ||
| malicious: z2.number(), | ||
| code_issues: z2.number() | ||
| secrets: z3.number(), | ||
| malicious: z3.number(), | ||
| code_issues: z3.number() | ||
| }).optional(), | ||
| domains: z2.record(z2.string(), SecurityDomainSchema).optional(), | ||
| findings: z2.array(ScorecardFindingSchema).optional() | ||
| domains: z3.record(z3.string(), SecurityDomainSchema).optional(), | ||
| findings: z3.array(ScorecardFindingSchema).optional() | ||
| }); | ||
| var PackageVersionSchema = z2.object({ | ||
| version: z2.string(), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| downloads: z2.number(), | ||
| artifacts: z2.array(ArtifactSchema).optional(), | ||
| readme: z2.string().nullable().optional(), | ||
| var PackageVersionSchema = z3.object({ | ||
| version: z3.string(), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| downloads: z3.number(), | ||
| artifacts: z3.array(ArtifactSchema).optional(), | ||
| readme: z3.string().nullable().optional(), | ||
| provenance: ProvenanceSchema.nullable().optional(), | ||
| release_url: z2.string().nullable().optional(), | ||
| prerelease: z2.boolean().optional(), | ||
| manifest: z2.record(z2.string(), z2.unknown()).nullable().optional(), | ||
| release_url: z3.string().nullable().optional(), | ||
| prerelease: z3.boolean().optional(), | ||
| manifest: z3.record(z3.string(), z3.unknown()).nullable().optional(), | ||
| security_scan: SecurityScanSchema.nullable().optional() | ||
| }); | ||
| var PackageClaimingSchema = z2.object({ | ||
| claimable: z2.boolean(), | ||
| claimed: z2.boolean(), | ||
| claimed_by: z2.string().nullable(), | ||
| claimed_at: z2.union([z2.string(), z2.date()]).nullable(), | ||
| github_repo: z2.string().nullable() | ||
| var PackageClaimingSchema = z3.object({ | ||
| claimable: z3.boolean(), | ||
| claimed: z3.boolean(), | ||
| claimed_by: z3.string().nullable(), | ||
| claimed_at: z3.union([z3.string(), z3.date()]).nullable(), | ||
| github_repo: z3.string().nullable() | ||
| }); | ||
| var PackageDetailSchema = PackageSchema.extend({ | ||
| homepage: z2.string().nullable(), | ||
| license: z2.string().nullable(), | ||
| homepage: z3.string().nullable(), | ||
| license: z3.string().nullable(), | ||
| claiming: PackageClaimingSchema, | ||
| versions: z2.array(PackageVersionSchema) | ||
| versions: z3.array(PackageVersionSchema) | ||
| }); | ||
| var PackageSearchResponseSchema = z2.object({ | ||
| packages: z2.array(PackageSchema), | ||
| total: z2.number() | ||
| var PackageSearchResponseSchema = z3.object({ | ||
| packages: z3.array(PackageSchema), | ||
| total: z3.number() | ||
| }); | ||
| var PlatformInfoSchema = z2.object({ | ||
| os: z2.string(), | ||
| arch: z2.string() | ||
| var PlatformInfoSchema = z3.object({ | ||
| os: z3.string(), | ||
| arch: z3.string() | ||
| }); | ||
| var FullProvenanceSchema = z2.object({ | ||
| schema_version: z2.string(), | ||
| provider: z2.string(), | ||
| repository: z2.string(), | ||
| sha: z2.string() | ||
| var FullProvenanceSchema = z3.object({ | ||
| schema_version: z3.string(), | ||
| provider: z3.string(), | ||
| repository: z3.string(), | ||
| sha: z3.string() | ||
| }); | ||
| var BundleSchema = z2.object({ | ||
| name: z2.string(), | ||
| display_name: z2.string().nullable().optional(), | ||
| description: z2.string().nullable().optional(), | ||
| var BundleSchema = z3.object({ | ||
| name: z3.string(), | ||
| display_name: z3.string().nullable().optional(), | ||
| description: z3.string().nullable().optional(), | ||
| author: PackageAuthorSchema.nullable().optional(), | ||
| latest_version: z2.string(), | ||
| icon: z2.string().nullable().optional(), | ||
| server_type: z2.string().nullable().optional(), | ||
| tools: z2.array(PackageToolSchema).optional(), | ||
| downloads: z2.number(), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| verified: z2.boolean(), | ||
| latest_version: z3.string(), | ||
| icon: z3.string().nullable().optional(), | ||
| server_type: z3.string().nullable().optional(), | ||
| tools: z3.array(PackageToolSchema).optional(), | ||
| downloads: z3.number(), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| verified: z3.boolean(), | ||
| provenance: FullProvenanceSchema.nullable().optional(), | ||
| certification_level: z2.number().nullable().optional() | ||
| certification_level: z3.number().nullable().optional() | ||
| }); | ||
| var BundleDetailSchema = BundleSchema.extend({ | ||
| homepage: z2.string().nullable().optional(), | ||
| license: z2.string().nullable().optional(), | ||
| homepage: z3.string().nullable().optional(), | ||
| license: z3.string().nullable().optional(), | ||
| certification: CertificationSchema.nullable().optional(), | ||
| versions: z2.array( | ||
| z2.object({ | ||
| version: z2.string(), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| downloads: z2.number() | ||
| versions: z3.array( | ||
| z3.object({ | ||
| version: z3.string(), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| downloads: z3.number() | ||
| }) | ||
| ) | ||
| }); | ||
| var BundleSearchResponseSchema = z2.object({ | ||
| bundles: z2.array(BundleSchema), | ||
| total: z2.number(), | ||
| pagination: z2.object({ | ||
| limit: z2.number(), | ||
| offset: z2.number(), | ||
| has_more: z2.boolean() | ||
| var BundleSearchResponseSchema = z3.object({ | ||
| bundles: z3.array(BundleSchema), | ||
| total: z3.number(), | ||
| pagination: z3.object({ | ||
| limit: z3.number(), | ||
| offset: z3.number(), | ||
| has_more: z3.boolean() | ||
| }) | ||
| }); | ||
| var VersionInfoSchema = z2.object({ | ||
| version: z2.string(), | ||
| artifacts_count: z2.number(), | ||
| platforms: z2.array(PlatformInfoSchema), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| downloads: z2.number(), | ||
| publish_method: z2.string().nullable(), | ||
| var VersionInfoSchema = z3.object({ | ||
| version: z3.string(), | ||
| artifacts_count: z3.number(), | ||
| platforms: z3.array(PlatformInfoSchema), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| downloads: z3.number(), | ||
| publish_method: z3.string().nullable(), | ||
| provenance: FullProvenanceSchema.nullable().optional() | ||
| }); | ||
| var VersionsResponseSchema = z2.object({ | ||
| name: z2.string(), | ||
| latest: z2.string(), | ||
| versions: z2.array(VersionInfoSchema) | ||
| var VersionsResponseSchema = z3.object({ | ||
| name: z3.string(), | ||
| latest: z3.string(), | ||
| versions: z3.array(VersionInfoSchema) | ||
| }); | ||
| var DownloadInfoSchema = z2.object({ | ||
| url: z2.string(), | ||
| bundle: z2.object({ | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| var DownloadInfoSchema = z3.object({ | ||
| url: z3.string(), | ||
| bundle: z3.object({ | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| platform: PlatformInfoSchema, | ||
| sha256: z2.string(), | ||
| size: z2.number() | ||
| sha256: z3.string(), | ||
| size: z3.number() | ||
| }), | ||
| expires_at: z2.string().optional() | ||
| expires_at: z3.string().optional() | ||
| }); | ||
| var VersionDetailSchema = z2.object({ | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| published_at: z2.union([z2.string(), z2.date()]), | ||
| downloads: z2.number(), | ||
| artifacts: z2.array( | ||
| z2.object({ | ||
| var VersionDetailSchema = z3.object({ | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| published_at: z3.union([z3.string(), z3.date()]), | ||
| downloads: z3.number(), | ||
| artifacts: z3.array( | ||
| z3.object({ | ||
| platform: PlatformInfoSchema, | ||
| digest: z2.string(), | ||
| size: z2.number(), | ||
| download_url: z2.string(), | ||
| source_url: z2.string().optional() | ||
| digest: z3.string(), | ||
| size: z3.number(), | ||
| download_url: z3.string(), | ||
| source_url: z3.string().optional() | ||
| }) | ||
| ), | ||
| manifest: z2.record(z2.string(), z2.unknown()), | ||
| release: z2.object({ | ||
| tag: z2.string().nullable(), | ||
| url: z2.string().nullable() | ||
| manifest: z3.record(z3.string(), z3.unknown()), | ||
| release: z3.object({ | ||
| tag: z3.string().nullable(), | ||
| url: z3.string().nullable() | ||
| }).optional(), | ||
| publish_method: z2.string().nullable(), | ||
| publish_method: z3.string().nullable(), | ||
| provenance: FullProvenanceSchema.nullable() | ||
| }); | ||
| var MCPBIndexSchema = z2.object({ | ||
| index_version: z2.string(), | ||
| mimeType: z2.string(), | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| description: z2.string().nullable(), | ||
| bundles: z2.array( | ||
| z2.object({ | ||
| mimeType: z2.string().nullable(), | ||
| digest: z2.string(), | ||
| size: z2.number(), | ||
| var MCPBIndexSchema = z3.object({ | ||
| index_version: z3.string(), | ||
| mimeType: z3.string(), | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| description: z3.string().nullable(), | ||
| bundles: z3.array( | ||
| z3.object({ | ||
| mimeType: z3.string().nullable(), | ||
| digest: z3.string(), | ||
| size: z3.number(), | ||
| platform: PlatformInfoSchema, | ||
| urls: z2.array(z2.string()) | ||
| urls: z3.array(z3.string()) | ||
| }) | ||
| ), | ||
| annotations: z2.record(z2.string(), z2.string()).optional() | ||
| annotations: z3.record(z3.string(), z3.string()).optional() | ||
| }); | ||
| var AnnounceRequestSchema = z2.object({ | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| manifest: z2.record(z2.string(), z2.unknown()), | ||
| release_tag: z2.string(), | ||
| prerelease: z2.boolean().optional().default(false), | ||
| artifact: z2.object({ | ||
| filename: z2.string(), | ||
| os: z2.string(), | ||
| arch: z2.string(), | ||
| sha256: z2.string(), | ||
| size: z2.number() | ||
| var AnnounceRequestSchema = z3.object({ | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| manifest: z3.record(z3.string(), z3.unknown()), | ||
| release_tag: z3.string(), | ||
| prerelease: z3.boolean().optional().default(false), | ||
| artifact: z3.object({ | ||
| filename: z3.string(), | ||
| os: z3.string(), | ||
| arch: z3.string(), | ||
| sha256: z3.string(), | ||
| size: z3.number() | ||
| }) | ||
| }); | ||
| var AnnounceResponseSchema = z2.object({ | ||
| package: z2.string(), | ||
| version: z2.string(), | ||
| artifact: z2.object({ | ||
| os: z2.string(), | ||
| arch: z2.string(), | ||
| filename: z2.string() | ||
| var AnnounceResponseSchema = z3.object({ | ||
| package: z3.string(), | ||
| version: z3.string(), | ||
| artifact: z3.object({ | ||
| os: z3.string(), | ||
| arch: z3.string(), | ||
| filename: z3.string() | ||
| }), | ||
| total_artifacts: z2.number(), | ||
| status: z2.enum(["created", "updated"]) | ||
| total_artifacts: z3.number(), | ||
| status: z3.enum(["created", "updated"]) | ||
| }); | ||
| var PublishResponseSchema = z2.object({ | ||
| success: z2.boolean(), | ||
| package: z2.object({ | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| manifest: z2.record(z2.string(), z2.unknown()) | ||
| var PublishResponseSchema = z3.object({ | ||
| success: z3.boolean(), | ||
| package: z3.object({ | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| manifest: z3.record(z3.string(), z3.unknown()) | ||
| }), | ||
| sha256: z2.string(), | ||
| size: z2.number(), | ||
| url: z2.string(), | ||
| auto_claimed: z2.boolean().optional(), | ||
| message: z2.string().optional() | ||
| sha256: z3.string(), | ||
| size: z3.number(), | ||
| url: z3.string(), | ||
| auto_claimed: z3.boolean().optional(), | ||
| message: z3.string().optional() | ||
| }); | ||
| var InternalDownloadResponseSchema = z2.object({ | ||
| url: z2.string(), | ||
| package: z2.object({ | ||
| name: z2.string(), | ||
| version: z2.string(), | ||
| sha256: z2.string(), | ||
| size: z2.number() | ||
| var InternalDownloadResponseSchema = z3.object({ | ||
| url: z3.string(), | ||
| package: z3.object({ | ||
| name: z3.string(), | ||
| version: z3.string(), | ||
| sha256: z3.string(), | ||
| size: z3.number() | ||
| }), | ||
| expires_at: z2.string() | ||
| expires_at: z3.string() | ||
| }); | ||
| var ClaimStatusResponseSchema = z2.object({ | ||
| claimable: z2.boolean(), | ||
| reason: z2.string().optional(), | ||
| claimed_by: z2.string().nullable().optional(), | ||
| claimed_at: z2.union([z2.string(), z2.date()]).nullable().optional(), | ||
| package_name: z2.string().optional(), | ||
| github_repo: z2.string().nullable().optional(), | ||
| instructions: z2.object({ | ||
| steps: z2.array(z2.string()), | ||
| mpak_json_example: z2.string(), | ||
| verification_url: z2.string().nullable() | ||
| var ClaimStatusResponseSchema = z3.object({ | ||
| claimable: z3.boolean(), | ||
| reason: z3.string().optional(), | ||
| claimed_by: z3.string().nullable().optional(), | ||
| claimed_at: z3.union([z3.string(), z3.date()]).nullable().optional(), | ||
| package_name: z3.string().optional(), | ||
| github_repo: z3.string().nullable().optional(), | ||
| instructions: z3.object({ | ||
| steps: z3.array(z3.string()), | ||
| mpak_json_example: z3.string(), | ||
| verification_url: z3.string().nullable() | ||
| }).optional() | ||
| }); | ||
| var ClaimResponseSchema = z2.object({ | ||
| success: z2.boolean(), | ||
| message: z2.string(), | ||
| package: z2.object({ | ||
| name: z2.string(), | ||
| claimed_by: z2.string().nullable(), | ||
| claimed_at: z2.union([z2.string(), z2.date()]).nullable(), | ||
| github_repo: z2.string().nullable() | ||
| var ClaimResponseSchema = z3.object({ | ||
| success: z3.boolean(), | ||
| message: z3.string(), | ||
| package: z3.object({ | ||
| name: z3.string(), | ||
| claimed_by: z3.string().nullable(), | ||
| claimed_at: z3.union([z3.string(), z3.date()]).nullable(), | ||
| github_repo: z3.string().nullable() | ||
| }), | ||
| verification: z2.object({ | ||
| mpak_json_url: z2.string().nullable().optional(), | ||
| verified_at: z2.string() | ||
| verification: z3.object({ | ||
| mpak_json_url: z3.string().nullable().optional(), | ||
| verified_at: z3.string() | ||
| }) | ||
| }); | ||
| var MyPackagesResponseSchema = z2.object({ | ||
| packages: z2.array(PackageSchema), | ||
| total: z2.number(), | ||
| var MyPackagesResponseSchema = z3.object({ | ||
| packages: z3.array(PackageSchema), | ||
| total: z3.number(), | ||
| pagination: PaginationSchema | ||
| }); | ||
| var UnclaimedPackageSchema = z2.object({ | ||
| name: z2.string(), | ||
| display_name: z2.string().nullable(), | ||
| description: z2.string().nullable(), | ||
| server_type: z2.string().nullable(), | ||
| latest_version: z2.string(), | ||
| downloads: z2.number(), | ||
| github_repo: z2.string().nullable(), | ||
| created_at: z2.union([z2.string(), z2.date()]) | ||
| var UnclaimedPackageSchema = z3.object({ | ||
| name: z3.string(), | ||
| display_name: z3.string().nullable(), | ||
| description: z3.string().nullable(), | ||
| server_type: z3.string().nullable(), | ||
| latest_version: z3.string(), | ||
| downloads: z3.number(), | ||
| github_repo: z3.string().nullable(), | ||
| created_at: z3.union([z3.string(), z3.date()]) | ||
| }); | ||
| var UnclaimedPackagesResponseSchema = z2.object({ | ||
| packages: z2.array(UnclaimedPackageSchema), | ||
| total: z2.number(), | ||
| var UnclaimedPackagesResponseSchema = z3.object({ | ||
| packages: z3.array(UnclaimedPackageSchema), | ||
| total: z3.number(), | ||
| pagination: PaginationSchema | ||
@@ -351,28 +416,28 @@ }); | ||
| // src/auth.ts | ||
| import { z as z3 } from "zod"; | ||
| var UserProfileSchema = z3.object({ | ||
| id: z3.string(), | ||
| email: z3.string().email(), | ||
| emailVerified: z3.boolean(), | ||
| username: z3.string().nullable(), | ||
| name: z3.string().nullable(), | ||
| avatarUrl: z3.string().nullable(), | ||
| githubUsername: z3.string().nullable(), | ||
| githubLinked: z3.boolean(), | ||
| verified: z3.boolean(), | ||
| publishedBundles: z3.number(), | ||
| totalDownloads: z3.number(), | ||
| role: z3.string().nullable(), | ||
| createdAt: z3.union([z3.string(), z3.date()]).nullable(), | ||
| lastLoginAt: z3.union([z3.string(), z3.date()]).nullable() | ||
| import { z as z4 } from "zod"; | ||
| var UserProfileSchema = z4.object({ | ||
| id: z4.string(), | ||
| email: z4.string().email(), | ||
| emailVerified: z4.boolean(), | ||
| username: z4.string().nullable(), | ||
| name: z4.string().nullable(), | ||
| avatarUrl: z4.string().nullable(), | ||
| githubUsername: z4.string().nullable(), | ||
| githubLinked: z4.boolean(), | ||
| verified: z4.boolean(), | ||
| publishedBundles: z4.number(), | ||
| totalDownloads: z4.number(), | ||
| role: z4.string().nullable(), | ||
| createdAt: z4.union([z4.string(), z4.date()]).nullable(), | ||
| lastLoginAt: z4.union([z4.string(), z4.date()]).nullable() | ||
| }); | ||
| // src/skill.ts | ||
| import { z as z4 } from "zod"; | ||
| var SkillNameSchema = z4.string().min(1).max(64).regex( | ||
| import { z as z5 } from "zod"; | ||
| var SkillNameSchema = z5.string().min(1).max(64).regex( | ||
| /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, | ||
| "Lowercase alphanumeric with single hyphens, cannot start/end with hyphen" | ||
| ); | ||
| var SkillDescriptionSchema = z4.string().min(1).max(1024); | ||
| var SkillCategorySchema = z4.enum([ | ||
| var SkillDescriptionSchema = z5.string().min(1).max(1024); | ||
| var SkillCategorySchema = z5.enum([ | ||
| "development", | ||
@@ -388,112 +453,110 @@ "writing", | ||
| ]); | ||
| var SkillAuthorSchema = z4.object({ | ||
| name: z4.string().min(1), | ||
| url: z4.string().url().optional(), | ||
| email: z4.string().email().optional() | ||
| var SkillAuthorSchema = z5.object({ | ||
| name: z5.string().min(1), | ||
| url: z5.string().url().optional(), | ||
| email: z5.string().email().optional() | ||
| }); | ||
| var SkillExampleSchema = z4.object({ | ||
| prompt: z4.string().min(1), | ||
| context: z4.string().optional() | ||
| var SkillExampleSchema = z5.object({ | ||
| prompt: z5.string().min(1), | ||
| context: z5.string().optional() | ||
| }); | ||
| var SkillDiscoveryMetadataSchema = z4.object({ | ||
| tags: z4.array(z4.string().max(32)).max(10).optional(), | ||
| var SkillDiscoveryMetadataSchema = z5.object({ | ||
| tags: z5.array(z5.string().max(32)).max(10).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| triggers: z4.array(z4.string().max(128)).max(20).optional(), | ||
| keywords: z4.array(z4.string().max(32)).max(30).optional(), | ||
| triggers: z5.array(z5.string().max(128)).max(20).optional(), | ||
| keywords: z5.array(z5.string().max(32)).max(30).optional(), | ||
| author: SkillAuthorSchema.optional(), | ||
| version: z4.string().optional(), | ||
| examples: z4.array(SkillExampleSchema).max(5).optional() | ||
| version: z5.string().optional(), | ||
| examples: z5.array(SkillExampleSchema).max(5).optional() | ||
| }).passthrough(); | ||
| var SkillFrontmatterSchema = z4.object({ | ||
| var SkillFrontmatterSchema = z5.object({ | ||
| name: SkillNameSchema, | ||
| description: SkillDescriptionSchema, | ||
| license: z4.string().optional(), | ||
| compatibility: z4.string().max(500).optional(), | ||
| "allowed-tools": z4.string().optional(), | ||
| version: z5.string().optional(), | ||
| license: z5.string().optional(), | ||
| compatibility: z5.string().max(500).optional(), | ||
| "allowed-tools": z5.string().optional(), | ||
| metadata: SkillDiscoveryMetadataSchema.optional() | ||
| }); | ||
| var ScopedSkillNameSchema = z4.string().regex( | ||
| /^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/, | ||
| "Scoped name format: @scope/name" | ||
| ); | ||
| var SkillArtifactSchema = z4.object({ | ||
| filename: z4.string().regex(/\.skill$/, "Must have .skill extension"), | ||
| sha256: z4.string().length(64), | ||
| size: z4.number().int().positive() | ||
| var ScopedSkillNameSchema = z5.string().regex(/^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/, "Scoped name format: @scope/name"); | ||
| var SkillArtifactSchema = z5.object({ | ||
| filename: z5.string().regex(/\.skill$/, "Must have .skill extension"), | ||
| sha256: z5.string().length(64), | ||
| size: z5.number().int().positive() | ||
| }); | ||
| var SkillAnnounceRequestSchema = z4.object({ | ||
| var SkillAnnounceRequestSchema = z5.object({ | ||
| name: ScopedSkillNameSchema, | ||
| version: z4.string(), | ||
| version: z5.string(), | ||
| skill: SkillFrontmatterSchema, | ||
| release_tag: z4.string(), | ||
| prerelease: z4.boolean().optional().default(false), | ||
| release_tag: z5.string(), | ||
| prerelease: z5.boolean().optional().default(false), | ||
| artifact: SkillArtifactSchema | ||
| }); | ||
| var SkillAnnounceResponseSchema = z4.object({ | ||
| skill: z4.string(), | ||
| version: z4.string(), | ||
| status: z4.enum(["created", "exists"]) | ||
| var SkillAnnounceResponseSchema = z5.object({ | ||
| skill: z5.string(), | ||
| version: z5.string(), | ||
| status: z5.enum(["created", "exists"]) | ||
| }); | ||
| var SkillSearchParamsSchema = z4.object({ | ||
| q: z4.string().optional(), | ||
| tags: z4.string().optional(), | ||
| var SkillSearchParamsSchema = z5.object({ | ||
| q: z5.string().optional(), | ||
| tags: z5.string().optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| sort: z4.enum(["downloads", "recent", "name"]).optional(), | ||
| limit: z4.union([z4.string(), z4.number()]).optional(), | ||
| offset: z4.union([z4.string(), z4.number()]).optional() | ||
| sort: z5.enum(["downloads", "recent", "name"]).optional(), | ||
| limit: z5.union([z5.string(), z5.number()]).optional(), | ||
| offset: z5.union([z5.string(), z5.number()]).optional() | ||
| }); | ||
| var SkillSummarySchema = z4.object({ | ||
| name: z4.string(), | ||
| description: z4.string(), | ||
| latest_version: z4.string(), | ||
| tags: z4.array(z4.string()).optional(), | ||
| var SkillSummarySchema = z5.object({ | ||
| name: z5.string(), | ||
| description: z5.string(), | ||
| latest_version: z5.string(), | ||
| tags: z5.array(z5.string()).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| downloads: z4.number(), | ||
| published_at: z4.string(), | ||
| downloads: z5.number(), | ||
| published_at: z5.string(), | ||
| author: SkillAuthorSchema.optional() | ||
| }); | ||
| var SkillSearchResponseSchema = z4.object({ | ||
| skills: z4.array(SkillSummarySchema), | ||
| total: z4.number(), | ||
| pagination: z4.object({ | ||
| limit: z4.number(), | ||
| offset: z4.number(), | ||
| has_more: z4.boolean() | ||
| var SkillSearchResponseSchema = z5.object({ | ||
| skills: z5.array(SkillSummarySchema), | ||
| total: z5.number(), | ||
| pagination: z5.object({ | ||
| limit: z5.number(), | ||
| offset: z5.number(), | ||
| has_more: z5.boolean() | ||
| }) | ||
| }); | ||
| var SkillDetailSchema = z4.object({ | ||
| name: z4.string(), | ||
| description: z4.string(), | ||
| latest_version: z4.string(), | ||
| license: z4.string().optional(), | ||
| compatibility: z4.string().optional(), | ||
| allowed_tools: z4.array(z4.string()).optional(), | ||
| tags: z4.array(z4.string()).optional(), | ||
| var SkillDetailSchema = z5.object({ | ||
| name: z5.string(), | ||
| description: z5.string(), | ||
| latest_version: z5.string(), | ||
| license: z5.string().optional(), | ||
| compatibility: z5.string().optional(), | ||
| allowed_tools: z5.array(z5.string()).optional(), | ||
| tags: z5.array(z5.string()).optional(), | ||
| category: SkillCategorySchema.optional(), | ||
| triggers: z4.array(z4.string()).optional(), | ||
| downloads: z4.number(), | ||
| published_at: z4.string(), | ||
| triggers: z5.array(z5.string()).optional(), | ||
| downloads: z5.number(), | ||
| published_at: z5.string(), | ||
| author: SkillAuthorSchema.optional(), | ||
| examples: z4.array(SkillExampleSchema).optional(), | ||
| versions: z4.array( | ||
| z4.object({ | ||
| version: z4.string(), | ||
| published_at: z4.string(), | ||
| downloads: z4.number() | ||
| examples: z5.array(SkillExampleSchema).optional(), | ||
| versions: z5.array( | ||
| z5.object({ | ||
| version: z5.string(), | ||
| published_at: z5.string(), | ||
| downloads: z5.number() | ||
| }) | ||
| ) | ||
| }); | ||
| var SkillDownloadInfoSchema = z4.object({ | ||
| url: z4.string(), | ||
| skill: z4.object({ | ||
| name: z4.string(), | ||
| version: z4.string(), | ||
| sha256: z4.string(), | ||
| size: z4.number() | ||
| var SkillDownloadInfoSchema = z5.object({ | ||
| url: z5.string(), | ||
| skill: z5.object({ | ||
| name: z5.string(), | ||
| version: z5.string(), | ||
| sha256: z5.string(), | ||
| size: z5.number() | ||
| }), | ||
| expires_at: z4.string() | ||
| expires_at: z5.string() | ||
| }); | ||
| // src/mpak-json.ts | ||
| import { z as z5 } from "zod"; | ||
| import { z as z6 } from "zod"; | ||
| var MPAK_SCHEMA_VERSION = "2025-10-19"; | ||
@@ -503,12 +566,12 @@ var MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`; | ||
| var GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i; | ||
| var MpakJsonSchema = z5.object({ | ||
| $schema: z5.string().optional(), | ||
| name: z5.string().regex( | ||
| var MpakJsonSchema = z6.object({ | ||
| $schema: z6.string().optional(), | ||
| name: z6.string().regex( | ||
| ScopedPackageNamePattern, | ||
| "Package name must be scoped (e.g., @username/package-name)" | ||
| ), | ||
| maintainers: z5.array( | ||
| z5.string().regex(GitHubUsernamePattern, "Must be a valid GitHub username") | ||
| maintainers: z6.array( | ||
| z6.string().regex(GitHubUsernamePattern, "Must be a valid GitHub username") | ||
| ).min(1, "At least one maintainer is required"), | ||
| version: z5.string().optional() | ||
| version: z6.string().optional() | ||
| }); | ||
@@ -558,2 +621,11 @@ var MPAK_JSON_SCHEMA = { | ||
| // src/cache.ts | ||
| import { z as z7 } from "zod"; | ||
| var CacheMetadataSchema = z7.object({ | ||
| version: z7.string(), | ||
| pulledAt: z7.string(), | ||
| lastCheckedAt: z7.string().optional(), | ||
| platform: PlatformInfoSchema | ||
| }).strict(); | ||
| // src/validation.ts | ||
@@ -630,4 +702,8 @@ function validate(schema, data) { | ||
| BundleDetailSchema, | ||
| BundleDownloadParamsSchema, | ||
| BundleSchema, | ||
| BundleSearchParamsSchema, | ||
| BundleSearchResponseSchema, | ||
| CacheMetadataSchema, | ||
| CapabilitySchema, | ||
| CertificationSchema, | ||
@@ -644,2 +720,6 @@ ClaimResponseSchema, | ||
| MPAK_SCHEMA_VERSION, | ||
| ManifestAuthorSchema, | ||
| ManifestServerSchema, | ||
| McpConfigSchema, | ||
| McpbManifestSchema, | ||
| MpakJsonSchema, | ||
@@ -684,2 +764,3 @@ MyPackagesResponseSchema, | ||
| UnclaimedPackagesResponseSchema, | ||
| UserConfigFieldSchema, | ||
| UserProfileSchema, | ||
@@ -686,0 +767,0 @@ VersionDetailSchema, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/package.ts","../src/api-responses.ts","../src/auth.ts","../src/skill.ts","../src/mpak-json.ts","../src/validation.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// =============================================================================\n// Enums & Search Params\n// =============================================================================\n\n/** Server runtime type */\nexport const ServerTypeSchema = z.enum([\"node\", \"python\", \"binary\"]);\n\n/** Supported operating system platforms */\nexport const PlatformSchema = z.enum([\"darwin\", \"win32\", \"linux\"]);\n\n/** Sort options for package listings */\nexport const PackageSortSchema = z.enum([\"downloads\", \"recent\", \"name\"]);\n\n/**\n * Package search query parameters.\n * HTTP query params arrive as strings, so limit/offset accept both.\n */\nexport const PackageSearchParamsSchema = z.object({\n q: z.string().optional(),\n type: ServerTypeSchema.optional(),\n tool: z.string().optional(),\n prompt: z.string().optional(),\n platform: PlatformSchema.optional(),\n sort: PackageSortSchema.optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type ServerType = z.infer<typeof ServerTypeSchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type PackageSort = z.infer<typeof PackageSortSchema>;\nexport type PackageSearchParams = z.infer<typeof PackageSearchParamsSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Shared Components\n// =============================================================================\n\n/** Package author information */\nexport const PackageAuthorSchema = z.object({\n name: z.string(),\n});\n\n/** Tool exposed by a package */\nexport const PackageToolSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n/** GitHub repository metadata */\nexport const PackageGitHubSchema = z.object({\n repo: z.string(),\n stars: z.number().nullable(),\n forks: z.number().nullable(),\n watchers: z.number().nullable(),\n updated_at: z.string().nullable().optional(),\n});\n\n/** Reusable pagination envelope */\nexport const PaginationSchema = z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n});\n\n// =============================================================================\n// Package Schemas (internal / web UI API)\n// =============================================================================\n\n/** Package list item (search/list endpoints) */\nexport const PackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n author: PackageAuthorSchema.nullable(),\n latest_version: z.string(),\n icon: z.string().nullable(),\n server_type: z.string(),\n tools: z.array(PackageToolSchema),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n claimable: z.boolean().optional(),\n claimed: z.boolean().optional(),\n github: PackageGitHubSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Platform-specific artifact */\nexport const ArtifactSchema = z.object({\n os: z.string(),\n arch: z.string(),\n size_bytes: z.number(),\n digest: z.string(),\n downloads: z.number(),\n});\n\n/** Build/publish provenance attestation */\nexport const ProvenanceSchema = z.object({\n publish_method: z.string().nullable(),\n repository: z.string().nullable(),\n sha: z.string().nullable(),\n});\n\n/** MTF certification level */\nexport const CertificationSchema = z.object({\n level: z.number().nullable(),\n level_name: z.string().nullable(),\n controls_passed: z.number().nullable(),\n controls_failed: z.number().nullable(),\n controls_total: z.number().nullable(),\n});\n\n/** Scorecard finding (prioritized issue to fix) */\nexport const ScorecardFindingSchema = z.object({\n id: z.string(),\n control: z.string(),\n severity: z.enum([\"critical\", \"high\", \"medium\", \"low\", \"info\"]),\n title: z.string(),\n description: z.string(),\n file: z.string().nullable(),\n line: z.number().nullable(),\n remediation: z.string().nullable(),\n});\n\n/** Individual control within a security domain */\nexport const DomainControlSchema = z.object({\n status: z.enum([\"pass\", \"fail\", \"skip\", \"error\"]),\n name: z.string(),\n findings_count: z.number(),\n});\n\n/** Security domain (group of related controls) */\nexport const SecurityDomainSchema = z.object({\n display_name: z.string(),\n controls_passed: z.number(),\n controls_total: z.number(),\n controls: z.record(z.string(), DomainControlSchema),\n});\n\n/** Security scan summary */\nexport const SecurityScanSchema = z.object({\n status: z.enum([\"pending\", \"scanning\", \"completed\", \"failed\"]),\n risk_score: z.enum([\"CRITICAL\", \"HIGH\", \"MEDIUM\", \"LOW\"]).nullable(),\n scanned_at: z.union([z.string(), z.date()]).nullable(),\n certification: CertificationSchema.nullable().optional(),\n summary: z\n .object({\n components: z.number(),\n vulnerabilities: z.object({\n critical: z.number(),\n high: z.number(),\n medium: z.number(),\n low: z.number(),\n }),\n secrets: z.number(),\n malicious: z.number(),\n code_issues: z.number(),\n })\n .optional(),\n domains: z.record(z.string(), SecurityDomainSchema).optional(),\n findings: z.array(ScorecardFindingSchema).optional(),\n});\n\n/** Package version detail */\nexport const PackageVersionSchema = z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(ArtifactSchema).optional(),\n readme: z.string().nullable().optional(),\n provenance: ProvenanceSchema.nullable().optional(),\n release_url: z.string().nullable().optional(),\n prerelease: z.boolean().optional(),\n manifest: z.record(z.string(), z.unknown()).nullable().optional(),\n security_scan: SecurityScanSchema.nullable().optional(),\n});\n\n/** Claiming status for a package */\nexport const PackageClaimingSchema = z.object({\n claimable: z.boolean(),\n claimed: z.boolean(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n});\n\n/** Full package detail (single-package endpoint) */\nexport const PackageDetailSchema = PackageSchema.extend({\n homepage: z.string().nullable(),\n license: z.string().nullable(),\n claiming: PackageClaimingSchema,\n versions: z.array(PackageVersionSchema),\n});\n\n/** Package search response envelope */\nexport const PackageSearchResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n});\n\n// =============================================================================\n// V1 Bundle API Schemas\n// =============================================================================\n\n/** Platform info (os + arch) */\nexport const PlatformInfoSchema = z.object({\n os: z.string(),\n arch: z.string(),\n});\n\n/** Full provenance (v1 API) */\nexport const FullProvenanceSchema = z.object({\n schema_version: z.string(),\n provider: z.string(),\n repository: z.string(),\n sha: z.string(),\n});\n\n/** Bundle summary (v1 API) */\nexport const BundleSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n author: PackageAuthorSchema.nullable().optional(),\n latest_version: z.string(),\n icon: z.string().nullable().optional(),\n server_type: z.string().nullable().optional(),\n tools: z.array(PackageToolSchema).optional(),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n provenance: FullProvenanceSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Bundle detail (v1 API) */\nexport const BundleDetailSchema = BundleSchema.extend({\n homepage: z.string().nullable().optional(),\n license: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Bundle search response (v1 API) */\nexport const BundleSearchResponseSchema = z.object({\n bundles: z.array(BundleSchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Version info with platforms */\nexport const VersionInfoSchema = z.object({\n version: z.string(),\n artifacts_count: z.number(),\n platforms: z.array(PlatformInfoSchema),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable().optional(),\n});\n\n/** Versions listing response (v1 API) */\nexport const VersionsResponseSchema = z.object({\n name: z.string(),\n latest: z.string(),\n versions: z.array(VersionInfoSchema),\n});\n\n/** Download info (v1 API) */\nexport const DownloadInfoSchema = z.object({\n url: z.string(),\n bundle: z.object({\n name: z.string(),\n version: z.string(),\n platform: PlatformInfoSchema,\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string().optional(),\n});\n\n/** Version detail with artifacts (v1 API) */\nexport const VersionDetailSchema = z.object({\n name: z.string(),\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(\n z.object({\n platform: PlatformInfoSchema,\n digest: z.string(),\n size: z.number(),\n download_url: z.string(),\n source_url: z.string().optional(),\n }),\n ),\n manifest: z.record(z.string(), z.unknown()),\n release: z\n .object({\n tag: z.string().nullable(),\n url: z.string().nullable(),\n })\n .optional(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable(),\n});\n\n/** MCPB index response */\nexport const MCPBIndexSchema = z.object({\n index_version: z.string(),\n mimeType: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string().nullable(),\n bundles: z.array(\n z.object({\n mimeType: z.string().nullable(),\n digest: z.string(),\n size: z.number(),\n platform: PlatformInfoSchema,\n urls: z.array(z.string()),\n }),\n ),\n annotations: z.record(z.string(), z.string()).optional(),\n});\n\n/** Announce request (per-artifact from GitHub Actions) */\nexport const AnnounceRequestSchema = z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: z.object({\n filename: z.string(),\n os: z.string(),\n arch: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n});\n\n/** Announce response (per-artifact, idempotent) */\nexport const AnnounceResponseSchema = z.object({\n package: z.string(),\n version: z.string(),\n artifact: z.object({\n os: z.string(),\n arch: z.string(),\n filename: z.string(),\n }),\n total_artifacts: z.number(),\n status: z.enum([\"created\", \"updated\"]),\n});\n\n// =============================================================================\n// Internal API Schemas (web UI, not exposed publicly)\n// =============================================================================\n\n/** Publish response */\nexport const PublishResponseSchema = z.object({\n success: z.boolean(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n }),\n sha256: z.string(),\n size: z.number(),\n url: z.string(),\n auto_claimed: z.boolean().optional(),\n message: z.string().optional(),\n});\n\n/** Internal download response */\nexport const InternalDownloadResponseSchema = z.object({\n url: z.string(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n/** Claim status response */\nexport const ClaimStatusResponseSchema = z.object({\n claimable: z.boolean(),\n reason: z.string().optional(),\n claimed_by: z.string().nullable().optional(),\n claimed_at: z.union([z.string(), z.date()]).nullable().optional(),\n package_name: z.string().optional(),\n github_repo: z.string().nullable().optional(),\n instructions: z\n .object({\n steps: z.array(z.string()),\n mpak_json_example: z.string(),\n verification_url: z.string().nullable(),\n })\n .optional(),\n});\n\n/** Claim response */\nexport const ClaimResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n package: z.object({\n name: z.string(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n }),\n verification: z.object({\n mpak_json_url: z.string().nullable().optional(),\n verified_at: z.string(),\n }),\n});\n\n/** My packages response */\nexport const MyPackagesResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n/** Unclaimed package summary */\nexport const UnclaimedPackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n server_type: z.string().nullable(),\n latest_version: z.string(),\n downloads: z.number(),\n github_repo: z.string().nullable(),\n created_at: z.union([z.string(), z.date()]),\n});\n\n/** Unclaimed packages response */\nexport const UnclaimedPackagesResponseSchema = z.object({\n packages: z.array(UnclaimedPackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\n// Core types\nexport type PackageAuthor = z.infer<typeof PackageAuthorSchema>;\nexport type PackageTool = z.infer<typeof PackageToolSchema>;\nexport type PackageGitHub = z.infer<typeof PackageGitHubSchema>;\nexport type Package = z.infer<typeof PackageSchema>;\nexport type Artifact = z.infer<typeof ArtifactSchema>;\nexport type Provenance = z.infer<typeof ProvenanceSchema>;\nexport type ScorecardFinding = z.infer<typeof ScorecardFindingSchema>;\nexport type DomainControl = z.infer<typeof DomainControlSchema>;\nexport type SecurityDomain = z.infer<typeof SecurityDomainSchema>;\nexport type Certification = z.infer<typeof CertificationSchema>;\nexport type SecurityScan = z.infer<typeof SecurityScanSchema>;\nexport type PackageVersion = z.infer<typeof PackageVersionSchema>;\nexport type PackageClaiming = z.infer<typeof PackageClaimingSchema>;\nexport type PackageDetail = z.infer<typeof PackageDetailSchema>;\nexport type PackageSearchResponse = z.infer<typeof PackageSearchResponseSchema>;\n\n// V1 API types\nexport type PlatformInfo = z.infer<typeof PlatformInfoSchema>;\nexport type FullProvenance = z.infer<typeof FullProvenanceSchema>;\nexport type Bundle = z.infer<typeof BundleSchema>;\nexport type BundleDetail = z.infer<typeof BundleDetailSchema>;\nexport type BundleSearchResponse = z.infer<typeof BundleSearchResponseSchema>;\nexport type VersionInfo = z.infer<typeof VersionInfoSchema>;\nexport type VersionsResponse = z.infer<typeof VersionsResponseSchema>;\nexport type DownloadInfo = z.infer<typeof DownloadInfoSchema>;\nexport type VersionDetail = z.infer<typeof VersionDetailSchema>;\nexport type MCPBIndex = z.infer<typeof MCPBIndexSchema>;\nexport type AnnounceRequest = z.infer<typeof AnnounceRequestSchema>;\nexport type AnnounceResponse = z.infer<typeof AnnounceResponseSchema>;\n\n// Internal API types\nexport type Pagination = z.infer<typeof PaginationSchema>;\nexport type PublishResponse = z.infer<typeof PublishResponseSchema>;\nexport type InternalDownloadResponse = z.infer<\n typeof InternalDownloadResponseSchema\n>;\nexport type ClaimStatusResponse = z.infer<typeof ClaimStatusResponseSchema>;\nexport type ClaimResponse = z.infer<typeof ClaimResponseSchema>;\nexport type MyPackagesResponse = z.infer<typeof MyPackagesResponseSchema>;\nexport type UnclaimedPackage = z.infer<typeof UnclaimedPackageSchema>;\nexport type UnclaimedPackagesResponse = z.infer<\n typeof UnclaimedPackagesResponseSchema\n>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Auth Schemas\n// =============================================================================\n\n/** User profile response from /app/auth/me */\nexport const UserProfileSchema = z.object({\n id: z.string(),\n email: z.string().email(),\n emailVerified: z.boolean(),\n username: z.string().nullable(),\n name: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n githubUsername: z.string().nullable(),\n githubLinked: z.boolean(),\n verified: z.boolean(),\n publishedBundles: z.number(),\n totalDownloads: z.number(),\n role: z.string().nullable(),\n createdAt: z.union([z.string(), z.date()]).nullable(),\n lastLoginAt: z.union([z.string(), z.date()]).nullable(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Agent Skills Specification - Skill Frontmatter Schema\n// https://agentskills.io/specification\n// =============================================================================\n\n/**\n * Skill name validation.\n * 1-64 characters, lowercase alphanumeric with single hyphens,\n * cannot start or end with hyphen.\n */\nexport const SkillNameSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(\n /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,\n \"Lowercase alphanumeric with single hyphens, cannot start/end with hyphen\",\n );\n\n/** Skill description (1-1024 characters) */\nexport const SkillDescriptionSchema = z.string().min(1).max(1024);\n\n// =============================================================================\n// Discovery Metadata Extension (via metadata: field)\n// =============================================================================\n\n/** Category taxonomy for skill discovery */\nexport const SkillCategorySchema = z.enum([\n \"development\",\n \"writing\",\n \"research\",\n \"consulting\",\n \"data\",\n \"design\",\n \"operations\",\n \"security\",\n \"other\",\n]);\n\n/** Author information for attribution */\nexport const SkillAuthorSchema = z.object({\n name: z.string().min(1),\n url: z.string().url().optional(),\n email: z.string().email().optional(),\n});\n\n/** Example usage for discovery */\nexport const SkillExampleSchema = z.object({\n prompt: z.string().min(1),\n context: z.string().optional(),\n});\n\n/**\n * Discovery metadata (via metadata: field in frontmatter).\n * All fields optional; skills can start minimal and add discovery metadata later.\n */\nexport const SkillDiscoveryMetadataSchema = z\n .object({\n tags: z.array(z.string().max(32)).max(10).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string().max(128)).max(20).optional(),\n keywords: z.array(z.string().max(32)).max(30).optional(),\n author: SkillAuthorSchema.optional(),\n version: z.string().optional(),\n examples: z.array(SkillExampleSchema).max(5).optional(),\n })\n .passthrough();\n\n// =============================================================================\n// Complete SKILL.md Frontmatter Schema\n// =============================================================================\n\n/**\n * Complete SKILL.md frontmatter schema.\n * Combines official Agent Skills spec with discovery metadata extension.\n */\nexport const SkillFrontmatterSchema = z.object({\n name: SkillNameSchema,\n description: SkillDescriptionSchema,\n license: z.string().optional(),\n compatibility: z.string().max(500).optional(),\n \"allowed-tools\": z.string().optional(),\n metadata: SkillDiscoveryMetadataSchema.optional(),\n});\n\n// =============================================================================\n// Registry API Schemas\n// =============================================================================\n\n/** Scoped skill name for registry (e.g., @nimblebraininc/strategic-thought-partner) */\nexport const ScopedSkillNameSchema = z\n .string()\n .regex(\n /^@[a-z0-9][a-z0-9-]*\\/[a-z0-9][a-z0-9-]*$/,\n \"Scoped name format: @scope/name\",\n );\n\n/** Skill artifact info for announce endpoint */\nexport const SkillArtifactSchema = z.object({\n filename: z.string().regex(/\\.skill$/, \"Must have .skill extension\"),\n sha256: z.string().length(64),\n size: z.number().int().positive(),\n});\n\n/** Announce request for POST /v1/skills/announce */\nexport const SkillAnnounceRequestSchema = z.object({\n name: ScopedSkillNameSchema,\n version: z.string(),\n skill: SkillFrontmatterSchema,\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: SkillArtifactSchema,\n});\n\n/** Announce response */\nexport const SkillAnnounceResponseSchema = z.object({\n skill: z.string(),\n version: z.string(),\n status: z.enum([\"created\", \"exists\"]),\n});\n\n// =============================================================================\n// Search/List API Schemas\n// =============================================================================\n\n/** Skill search parameters */\nexport const SkillSearchParamsSchema = z.object({\n q: z.string().optional(),\n tags: z.string().optional(),\n category: SkillCategorySchema.optional(),\n sort: z.enum([\"downloads\", \"recent\", \"name\"]).optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Skill summary for search results */\nexport const SkillSummarySchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n});\n\n/** Skill search response */\nexport const SkillSearchResponseSchema = z.object({\n skills: z.array(SkillSummarySchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Skill detail response */\nexport const SkillDetailSchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n license: z.string().optional(),\n compatibility: z.string().optional(),\n allowed_tools: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string()).optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n examples: z.array(SkillExampleSchema).optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.string(),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Skill download info response */\nexport const SkillDownloadInfoSchema = z.object({\n url: z.string(),\n skill: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type SkillName = z.infer<typeof SkillNameSchema>;\nexport type SkillCategory = z.infer<typeof SkillCategorySchema>;\nexport type SkillAuthor = z.infer<typeof SkillAuthorSchema>;\nexport type SkillExample = z.infer<typeof SkillExampleSchema>;\nexport type SkillDiscoveryMetadata = z.infer<\n typeof SkillDiscoveryMetadataSchema\n>;\nexport type SkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;\nexport type ScopedSkillName = z.infer<typeof ScopedSkillNameSchema>;\nexport type SkillArtifact = z.infer<typeof SkillArtifactSchema>;\nexport type SkillAnnounceRequest = z.infer<typeof SkillAnnounceRequestSchema>;\nexport type SkillAnnounceResponse = z.infer<typeof SkillAnnounceResponseSchema>;\nexport type SkillSearchParams = z.infer<typeof SkillSearchParamsSchema>;\nexport type SkillSummary = z.infer<typeof SkillSummarySchema>;\nexport type SkillSearchResponse = z.infer<typeof SkillSearchResponseSchema>;\nexport type SkillDetail = z.infer<typeof SkillDetailSchema>;\nexport type SkillDownloadInfo = z.infer<typeof SkillDownloadInfoSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// mpak.json Schema Definition\n//\n// Defines the schema for mpak.json files placed in GitHub repositories to\n// claim ownership of packages in the registry.\n//\n// Location: https://github.com/{owner}/{repo}/mpak.json\n//\n// Example:\n// {\n// \"$schema\": \"https://cdn.mpak.dev/schemas/2025-10-19/mpak.json\",\n// \"name\": \"@username/package-name\",\n// \"maintainers\": [\"github-username\"]\n// }\n// =============================================================================\n\n/** Schema version (update when making breaking changes) */\nexport const MPAK_SCHEMA_VERSION = \"2025-10-19\";\n\n/** Canonical schema URL for IDE autocompletion */\nexport const MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`;\n\n// =============================================================================\n// Zod Schema\n// =============================================================================\n\n/** Scoped package name pattern */\nconst ScopedPackageNamePattern =\n /^@[a-z0-9][a-z0-9-]{0,38}\\/[a-z0-9][a-z0-9-]{0,213}$/;\n\n/** GitHub username pattern */\nconst GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i;\n\n/** Zod schema for mpak.json */\nexport const MpakJsonSchema = z.object({\n $schema: z.string().optional(),\n name: z\n .string()\n .regex(\n ScopedPackageNamePattern,\n \"Package name must be scoped (e.g., @username/package-name)\",\n ),\n maintainers: z\n .array(\n z\n .string()\n .regex(GitHubUsernamePattern, \"Must be a valid GitHub username\"),\n )\n .min(1, \"At least one maintainer is required\"),\n version: z.string().optional(),\n});\n\n/** TypeScript type for mpak.json */\nexport type MpakJson = z.infer<typeof MpakJsonSchema>;\n\n// =============================================================================\n// JSON Schema (for IDE autocomplete and CDN hosting)\n// =============================================================================\n\n/** JSON Schema definition for mpak.json */\nexport const MPAK_JSON_SCHEMA = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $id: MPAK_SCHEMA_URL,\n title: \"mpak.json\",\n description:\n \"Configuration file for claiming package ownership in the mpak registry\",\n type: \"object\" as const,\n required: [\"name\", \"maintainers\"],\n properties: {\n $schema: {\n type: \"string\" as const,\n description: \"JSON Schema URL for validation\",\n default: MPAK_SCHEMA_URL,\n },\n name: {\n type: \"string\" as const,\n description:\n \"Package name in the registry (must be scoped, e.g., @username/package)\",\n pattern: \"^@[a-z0-9][a-z0-9-]{0,38}/[a-z0-9][a-z0-9-]{0,213}$\",\n },\n maintainers: {\n type: \"array\" as const,\n description: \"GitHub usernames of package maintainers\",\n items: {\n type: \"string\" as const,\n pattern: \"^[a-z0-9][a-z0-9-]{0,38}$\",\n },\n minItems: 1,\n },\n version: {\n type: \"string\" as const,\n description: \"Schema version\",\n },\n },\n additionalProperties: false,\n} as const;\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Generate an example mpak.json content string.\n */\nexport function generateMpakJsonExample(\n packageName: string,\n githubUsername: string,\n): string {\n const example: MpakJson = {\n $schema: MPAK_SCHEMA_URL,\n name: packageName,\n maintainers: [githubUsername],\n };\n return JSON.stringify(example, null, 2);\n}\n","import type { z } from \"zod\";\n\nimport {\n AnnounceRequestSchema,\n BundleDetailSchema,\n BundleSchema,\n BundleSearchResponseSchema,\n DownloadInfoSchema,\n MCPBIndexSchema,\n PackageDetailSchema,\n PackageSchema,\n PackageSearchResponseSchema,\n VersionDetailSchema,\n VersionsResponseSchema,\n} from \"./api-responses.js\";\nimport { UserProfileSchema } from \"./auth.js\";\nimport { MpakJsonSchema } from \"./mpak-json.js\";\nimport { PackageSearchParamsSchema } from \"./package.js\";\nimport {\n SkillAnnounceRequestSchema,\n SkillDetailSchema,\n SkillFrontmatterSchema,\n SkillSearchResponseSchema,\n} from \"./skill.js\";\n\n// =============================================================================\n// Validation Result Type\n// =============================================================================\n\n/**\n * Result of a schema validation.\n * On success, `data` contains the parsed (and typed) value.\n * On failure, `errors` contains human-readable error messages.\n */\nexport type ValidationResult<T> =\n | { success: true; data: T; errors?: undefined }\n | { success: false; data?: undefined; errors: string[] };\n\n// =============================================================================\n// Generic Validator\n// =============================================================================\n\n/**\n * Validate unknown data against a Zod schema, returning a friendly result.\n */\nfunction validate<T>(\n schema: z.ZodType<T>,\n data: unknown,\n): ValidationResult<T> {\n const result = schema.safeParse(data);\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n const errors = result.error.issues.map((issue) => {\n const path = issue.path.length > 0 ? issue.path.join(\".\") : \"(root)\";\n return `${path}: ${issue.message}`;\n });\n\n return { success: false, errors };\n}\n\n// =============================================================================\n// Package & Bundle Validators\n// =============================================================================\n\n/** Validate data as a Package (list item). */\nexport function validatePackage(data: unknown) {\n return validate(PackageSchema, data);\n}\n\n/** Validate data as a PackageDetail (single-package endpoint). */\nexport function validatePackageDetail(data: unknown) {\n return validate(PackageDetailSchema, data);\n}\n\n/** Validate data as a PackageSearchResponse. */\nexport function validatePackageSearchResponse(data: unknown) {\n return validate(PackageSearchResponseSchema, data);\n}\n\n/** Validate search parameters. */\nexport function validatePackageSearchParams(data: unknown) {\n return validate(PackageSearchParamsSchema, data);\n}\n\n/** Validate data as a Bundle (v1 API). */\nexport function validateBundle(data: unknown) {\n return validate(BundleSchema, data);\n}\n\n/** Validate data as a BundleDetail (v1 API). */\nexport function validateBundleDetail(data: unknown) {\n return validate(BundleDetailSchema, data);\n}\n\n/** Validate data as a BundleSearchResponse (v1 API). */\nexport function validateBundleSearchResponse(data: unknown) {\n return validate(BundleSearchResponseSchema, data);\n}\n\n/** Validate data as a VersionsResponse (v1 API). */\nexport function validateVersionsResponse(data: unknown) {\n return validate(VersionsResponseSchema, data);\n}\n\n/** Validate data as a VersionDetail (v1 API). */\nexport function validateVersionDetail(data: unknown) {\n return validate(VersionDetailSchema, data);\n}\n\n/** Validate data as DownloadInfo (v1 API). */\nexport function validateDownloadInfo(data: unknown) {\n return validate(DownloadInfoSchema, data);\n}\n\n/** Validate data as an MCPBIndex. */\nexport function validateMCPBIndex(data: unknown) {\n return validate(MCPBIndexSchema, data);\n}\n\n/** Validate an announce request payload. */\nexport function validateAnnounceRequest(data: unknown) {\n return validate(AnnounceRequestSchema, data);\n}\n\n// =============================================================================\n// Auth Validators\n// =============================================================================\n\n/** Validate data as a UserProfile. */\nexport function validateUserProfile(data: unknown) {\n return validate(UserProfileSchema, data);\n}\n\n// =============================================================================\n// mpak.json Validators\n// =============================================================================\n\n/** Validate data as an mpak.json file. */\nexport function validateMpakJson(data: unknown) {\n return validate(MpakJsonSchema, data);\n}\n\n// =============================================================================\n// Skill Validators\n// =============================================================================\n\n/** Validate SKILL.md frontmatter. */\nexport function validateSkillFrontmatter(data: unknown) {\n return validate(SkillFrontmatterSchema, data);\n}\n\n/** Validate a skill announce request. */\nexport function validateSkillAnnounceRequest(data: unknown) {\n return validate(SkillAnnounceRequestSchema, data);\n}\n\n/** Validate a skill search response. */\nexport function validateSkillSearchResponse(data: unknown) {\n return validate(SkillSearchResponseSchema, data);\n}\n\n/** Validate a skill detail response. */\nexport function validateSkillDetail(data: unknown) {\n return validate(SkillDetailSchema, data);\n}\n"],"mappings":"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","names":["z","z","z","z"]} | ||
| {"version":3,"sources":["../src/package.ts","../src/manifest.ts","../src/api-responses.ts","../src/auth.ts","../src/skill.ts","../src/mpak-json.ts","../src/cache.ts","../src/validation.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { ServerTypeSchema } from './manifest.js';\n\n// Re-export manifest schemas so existing consumers of package.ts are not broken.\nexport {\n CapabilitySchema,\n ManifestAuthorSchema,\n ManifestServerSchema,\n McpbManifestSchema,\n McpConfigSchema,\n ServerTypeSchema,\n UserConfigFieldSchema,\n type Capability,\n type ManifestAuthor,\n type ManifestServer,\n type McpbManifest,\n type McpConfig,\n type ServerType,\n type UserConfigField,\n} from './manifest.js';\n\n// =============================================================================\n// Enums & Search Params\n// =============================================================================\n\n/** Supported operating system platforms */\nexport const PlatformSchema = z.enum(['darwin', 'win32', 'linux']);\n\n/** Sort options for package listings */\nexport const PackageSortSchema = z.enum(['downloads', 'recent', 'name']);\n\n/**\n * Package search query parameters.\n * HTTP query params arrive as strings, so limit/offset accept both.\n */\nexport const PackageSearchParamsSchema = z.object({\n q: z.string().optional(),\n type: ServerTypeSchema.optional(),\n tool: z.string().optional(),\n prompt: z.string().optional(),\n platform: PlatformSchema.optional(),\n sort: PackageSortSchema.optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Bundle search query parameters. */\nexport const BundleSearchParamsSchema = z.object({\n q: z.string().max(200).optional(),\n type: ServerTypeSchema.optional(),\n sort: PackageSortSchema.optional().default('downloads'),\n limit: z.number().min(1).max(100).optional().default(20),\n offset: z.number().min(0).optional().default(0),\n});\n\n/** Bundle download query parameters (os + arch). */\nexport const BundleDownloadParamsSchema = z.object({\n os: z.enum(['darwin', 'linux', 'win32']).describe('Target OS (darwin, linux, win32)').optional(),\n arch: z.enum(['x64', 'arm64']).describe('Target arch (x64, arm64)').optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type PackageSort = z.infer<typeof PackageSortSchema>;\nexport type PackageSearchParams = z.infer<typeof PackageSearchParamsSchema>;\nexport type BundleSearchParams = z.infer<typeof BundleSearchParamsSchema>;\n/** Input type — all fields optional (before defaults are applied). */\nexport type BundleSearchParamsInput = z.input<typeof BundleSearchParamsSchema>;\nexport type BundleDownloadParams = z.infer<typeof BundleDownloadParamsSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Manifest Building Blocks\n// =============================================================================\n\n/** Server runtime type (v0.4 added \"uv\"). */\nexport const ServerTypeSchema = z.enum([\"node\", \"python\", \"binary\", \"uv\"]);\n\n/** User-configurable field declared by a bundle author. */\nexport const UserConfigFieldSchema = z.object({\n type: z.enum([\"string\", \"number\", \"boolean\"]),\n title: z.string().optional(),\n description: z.string().optional(),\n sensitive: z.boolean().optional(),\n required: z.boolean().optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n});\n\n/** MCP server launch configuration (command, args, env). */\nexport const McpConfigSchema = z.object({\n command: z.string(),\n args: z.array(z.string()),\n env: z.record(z.string(), z.string()).optional(),\n});\n\n/** Author information. */\nexport const ManifestAuthorSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n url: z.string().optional(),\n});\n\n/** Server configuration block. */\nexport const ManifestServerSchema = z.object({\n type: ServerTypeSchema,\n entry_point: z.string(),\n mcp_config: McpConfigSchema,\n});\n\n/** MCP capability descriptor (tool, prompt, or resource). */\nexport const CapabilitySchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n// =============================================================================\n// MCPB Manifest Schema\n// =============================================================================\n\n/**\n * MCPB bundle manifest.\n *\n * Compatible with both v0.3 and v0.4 of the upstream spec.\n * The two versions are backward-compatible (v0.4 only adds \"uv\" server type).\n */\nexport const McpbManifestSchema = z.object({\n manifest_version: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string(),\n display_name: z.string().optional(),\n author: ManifestAuthorSchema.optional(),\n homepage: z.string().optional(),\n license: z.string().optional(),\n icon: z.string().optional(),\n repository: z\n .object({\n type: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n user_config: z.record(z.string(), UserConfigFieldSchema).optional(),\n server: ManifestServerSchema,\n tools: z.array(CapabilitySchema).optional(),\n prompts: z.array(CapabilitySchema).optional(),\n resources: z.array(CapabilitySchema).optional(),\n _meta: z.record(z.string(), z.unknown()).optional(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type ServerType = z.infer<typeof ServerTypeSchema>;\nexport type UserConfigField = z.infer<typeof UserConfigFieldSchema>;\nexport type McpConfig = z.infer<typeof McpConfigSchema>;\nexport type ManifestAuthor = z.infer<typeof ManifestAuthorSchema>;\nexport type ManifestServer = z.infer<typeof ManifestServerSchema>;\nexport type Capability = z.infer<typeof CapabilitySchema>;\nexport type McpbManifest = z.infer<typeof McpbManifestSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Shared Components\n// =============================================================================\n\n/** Package author information */\nexport const PackageAuthorSchema = z.object({\n name: z.string(),\n});\n\n/** Tool exposed by a package */\nexport const PackageToolSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\n/** GitHub repository metadata */\nexport const PackageGitHubSchema = z.object({\n repo: z.string(),\n stars: z.number().nullable(),\n forks: z.number().nullable(),\n watchers: z.number().nullable(),\n updated_at: z.string().nullable().optional(),\n});\n\n/** Reusable pagination envelope */\nexport const PaginationSchema = z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n});\n\n// =============================================================================\n// Package Schemas (internal / web UI API)\n// =============================================================================\n\n/** Package list item (search/list endpoints) */\nexport const PackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n author: PackageAuthorSchema.nullable(),\n latest_version: z.string(),\n icon: z.string().nullable(),\n server_type: z.string(),\n tools: z.array(PackageToolSchema),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n claimable: z.boolean().optional(),\n claimed: z.boolean().optional(),\n github: PackageGitHubSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Platform-specific artifact */\nexport const ArtifactSchema = z.object({\n os: z.string(),\n arch: z.string(),\n size_bytes: z.number(),\n digest: z.string(),\n downloads: z.number(),\n});\n\n/** Build/publish provenance attestation */\nexport const ProvenanceSchema = z.object({\n publish_method: z.string().nullable(),\n repository: z.string().nullable(),\n sha: z.string().nullable(),\n});\n\n/** MTF certification level */\nexport const CertificationSchema = z.object({\n level: z.number().nullable(),\n level_name: z.string().nullable(),\n controls_passed: z.number().nullable(),\n controls_failed: z.number().nullable(),\n controls_total: z.number().nullable(),\n});\n\n/** Scorecard finding (prioritized issue to fix) */\nexport const ScorecardFindingSchema = z.object({\n id: z.string(),\n control: z.string(),\n severity: z.enum([\"critical\", \"high\", \"medium\", \"low\", \"info\"]),\n title: z.string(),\n description: z.string(),\n file: z.string().nullable(),\n line: z.number().nullable(),\n remediation: z.string().nullable(),\n});\n\n/** Individual control within a security domain */\nexport const DomainControlSchema = z.object({\n status: z.enum([\"pass\", \"fail\", \"skip\", \"error\"]),\n name: z.string(),\n findings_count: z.number(),\n});\n\n/** Security domain (group of related controls) */\nexport const SecurityDomainSchema = z.object({\n display_name: z.string(),\n controls_passed: z.number(),\n controls_total: z.number(),\n controls: z.record(z.string(), DomainControlSchema),\n});\n\n/** Security scan summary */\nexport const SecurityScanSchema = z.object({\n status: z.enum([\"pending\", \"scanning\", \"completed\", \"failed\"]),\n risk_score: z.enum([\"CRITICAL\", \"HIGH\", \"MEDIUM\", \"LOW\"]).nullable(),\n scanned_at: z.union([z.string(), z.date()]).nullable(),\n scanner_version: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n summary: z\n .object({\n components: z.number(),\n vulnerabilities: z.object({\n critical: z.number(),\n high: z.number(),\n medium: z.number(),\n low: z.number(),\n }),\n secrets: z.number(),\n malicious: z.number(),\n code_issues: z.number(),\n })\n .optional(),\n domains: z.record(z.string(), SecurityDomainSchema).optional(),\n findings: z.array(ScorecardFindingSchema).optional(),\n});\n\n/** Package version detail */\nexport const PackageVersionSchema = z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(ArtifactSchema).optional(),\n readme: z.string().nullable().optional(),\n provenance: ProvenanceSchema.nullable().optional(),\n release_url: z.string().nullable().optional(),\n prerelease: z.boolean().optional(),\n manifest: z.record(z.string(), z.unknown()).nullable().optional(),\n security_scan: SecurityScanSchema.nullable().optional(),\n});\n\n/** Claiming status for a package */\nexport const PackageClaimingSchema = z.object({\n claimable: z.boolean(),\n claimed: z.boolean(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n});\n\n/** Full package detail (single-package endpoint) */\nexport const PackageDetailSchema = PackageSchema.extend({\n homepage: z.string().nullable(),\n license: z.string().nullable(),\n claiming: PackageClaimingSchema,\n versions: z.array(PackageVersionSchema),\n});\n\n/** Package search response envelope */\nexport const PackageSearchResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n});\n\n// =============================================================================\n// V1 Bundle API Schemas\n// =============================================================================\n\n/** Platform info (os + arch) */\nexport const PlatformInfoSchema = z.object({\n os: z.string(),\n arch: z.string(),\n});\n\n/** Full provenance (v1 API) */\nexport const FullProvenanceSchema = z.object({\n schema_version: z.string(),\n provider: z.string(),\n repository: z.string(),\n sha: z.string(),\n});\n\n/** Bundle summary (v1 API) */\nexport const BundleSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n author: PackageAuthorSchema.nullable().optional(),\n latest_version: z.string(),\n icon: z.string().nullable().optional(),\n server_type: z.string().nullable().optional(),\n tools: z.array(PackageToolSchema).optional(),\n downloads: z.number(),\n published_at: z.union([z.string(), z.date()]),\n verified: z.boolean(),\n provenance: FullProvenanceSchema.nullable().optional(),\n certification_level: z.number().nullable().optional(),\n});\n\n/** Bundle detail (v1 API) */\nexport const BundleDetailSchema = BundleSchema.extend({\n homepage: z.string().nullable().optional(),\n license: z.string().nullable().optional(),\n certification: CertificationSchema.nullable().optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Bundle search response (v1 API) */\nexport const BundleSearchResponseSchema = z.object({\n bundles: z.array(BundleSchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Version info with platforms */\nexport const VersionInfoSchema = z.object({\n version: z.string(),\n artifacts_count: z.number(),\n platforms: z.array(PlatformInfoSchema),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable().optional(),\n});\n\n/** Versions listing response (v1 API) */\nexport const VersionsResponseSchema = z.object({\n name: z.string(),\n latest: z.string(),\n versions: z.array(VersionInfoSchema),\n});\n\n/** Download info (v1 API) */\nexport const DownloadInfoSchema = z.object({\n url: z.string(),\n bundle: z.object({\n name: z.string(),\n version: z.string(),\n platform: PlatformInfoSchema,\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string().optional(),\n});\n\n/** Version detail with artifacts (v1 API) */\nexport const VersionDetailSchema = z.object({\n name: z.string(),\n version: z.string(),\n published_at: z.union([z.string(), z.date()]),\n downloads: z.number(),\n artifacts: z.array(\n z.object({\n platform: PlatformInfoSchema,\n digest: z.string(),\n size: z.number(),\n download_url: z.string(),\n source_url: z.string().optional(),\n }),\n ),\n manifest: z.record(z.string(), z.unknown()),\n release: z\n .object({\n tag: z.string().nullable(),\n url: z.string().nullable(),\n })\n .optional(),\n publish_method: z.string().nullable(),\n provenance: FullProvenanceSchema.nullable(),\n});\n\n/** MCPB index response */\nexport const MCPBIndexSchema = z.object({\n index_version: z.string(),\n mimeType: z.string(),\n name: z.string(),\n version: z.string(),\n description: z.string().nullable(),\n bundles: z.array(\n z.object({\n mimeType: z.string().nullable(),\n digest: z.string(),\n size: z.number(),\n platform: PlatformInfoSchema,\n urls: z.array(z.string()),\n }),\n ),\n annotations: z.record(z.string(), z.string()).optional(),\n});\n\n/** Announce request (per-artifact from GitHub Actions) */\nexport const AnnounceRequestSchema = z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: z.object({\n filename: z.string(),\n os: z.string(),\n arch: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n});\n\n/** Announce response (per-artifact, idempotent) */\nexport const AnnounceResponseSchema = z.object({\n package: z.string(),\n version: z.string(),\n artifact: z.object({\n os: z.string(),\n arch: z.string(),\n filename: z.string(),\n }),\n total_artifacts: z.number(),\n status: z.enum([\"created\", \"updated\"]),\n});\n\n// =============================================================================\n// Internal API Schemas (web UI, not exposed publicly)\n// =============================================================================\n\n/** Publish response */\nexport const PublishResponseSchema = z.object({\n success: z.boolean(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n manifest: z.record(z.string(), z.unknown()),\n }),\n sha256: z.string(),\n size: z.number(),\n url: z.string(),\n auto_claimed: z.boolean().optional(),\n message: z.string().optional(),\n});\n\n/** Internal download response */\nexport const InternalDownloadResponseSchema = z.object({\n url: z.string(),\n package: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n/** Claim status response */\nexport const ClaimStatusResponseSchema = z.object({\n claimable: z.boolean(),\n reason: z.string().optional(),\n claimed_by: z.string().nullable().optional(),\n claimed_at: z.union([z.string(), z.date()]).nullable().optional(),\n package_name: z.string().optional(),\n github_repo: z.string().nullable().optional(),\n instructions: z\n .object({\n steps: z.array(z.string()),\n mpak_json_example: z.string(),\n verification_url: z.string().nullable(),\n })\n .optional(),\n});\n\n/** Claim response */\nexport const ClaimResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n package: z.object({\n name: z.string(),\n claimed_by: z.string().nullable(),\n claimed_at: z.union([z.string(), z.date()]).nullable(),\n github_repo: z.string().nullable(),\n }),\n verification: z.object({\n mpak_json_url: z.string().nullable().optional(),\n verified_at: z.string(),\n }),\n});\n\n/** My packages response */\nexport const MyPackagesResponseSchema = z.object({\n packages: z.array(PackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n/** Unclaimed package summary */\nexport const UnclaimedPackageSchema = z.object({\n name: z.string(),\n display_name: z.string().nullable(),\n description: z.string().nullable(),\n server_type: z.string().nullable(),\n latest_version: z.string(),\n downloads: z.number(),\n github_repo: z.string().nullable(),\n created_at: z.union([z.string(), z.date()]),\n});\n\n/** Unclaimed packages response */\nexport const UnclaimedPackagesResponseSchema = z.object({\n packages: z.array(UnclaimedPackageSchema),\n total: z.number(),\n pagination: PaginationSchema,\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\n// Core types\nexport type PackageAuthor = z.infer<typeof PackageAuthorSchema>;\nexport type PackageTool = z.infer<typeof PackageToolSchema>;\nexport type PackageGitHub = z.infer<typeof PackageGitHubSchema>;\nexport type Package = z.infer<typeof PackageSchema>;\nexport type Artifact = z.infer<typeof ArtifactSchema>;\nexport type Provenance = z.infer<typeof ProvenanceSchema>;\nexport type ScorecardFinding = z.infer<typeof ScorecardFindingSchema>;\nexport type DomainControl = z.infer<typeof DomainControlSchema>;\nexport type SecurityDomain = z.infer<typeof SecurityDomainSchema>;\nexport type Certification = z.infer<typeof CertificationSchema>;\nexport type SecurityScan = z.infer<typeof SecurityScanSchema>;\nexport type PackageVersion = z.infer<typeof PackageVersionSchema>;\nexport type PackageClaiming = z.infer<typeof PackageClaimingSchema>;\nexport type PackageDetail = z.infer<typeof PackageDetailSchema>;\nexport type PackageSearchResponse = z.infer<typeof PackageSearchResponseSchema>;\n\n// V1 API types\nexport type PlatformInfo = z.infer<typeof PlatformInfoSchema>;\nexport type FullProvenance = z.infer<typeof FullProvenanceSchema>;\nexport type Bundle = z.infer<typeof BundleSchema>;\nexport type BundleDetail = z.infer<typeof BundleDetailSchema>;\nexport type BundleSearchResponse = z.infer<typeof BundleSearchResponseSchema>;\nexport type VersionInfo = z.infer<typeof VersionInfoSchema>;\nexport type VersionsResponse = z.infer<typeof VersionsResponseSchema>;\nexport type DownloadInfo = z.infer<typeof DownloadInfoSchema>;\nexport type VersionDetail = z.infer<typeof VersionDetailSchema>;\nexport type MCPBIndex = z.infer<typeof MCPBIndexSchema>;\nexport type AnnounceRequest = z.infer<typeof AnnounceRequestSchema>;\nexport type AnnounceResponse = z.infer<typeof AnnounceResponseSchema>;\n\n// Internal API types\nexport type Pagination = z.infer<typeof PaginationSchema>;\nexport type PublishResponse = z.infer<typeof PublishResponseSchema>;\nexport type InternalDownloadResponse = z.infer<\n typeof InternalDownloadResponseSchema\n>;\nexport type ClaimStatusResponse = z.infer<typeof ClaimStatusResponseSchema>;\nexport type ClaimResponse = z.infer<typeof ClaimResponseSchema>;\nexport type MyPackagesResponse = z.infer<typeof MyPackagesResponseSchema>;\nexport type UnclaimedPackage = z.infer<typeof UnclaimedPackageSchema>;\nexport type UnclaimedPackagesResponse = z.infer<\n typeof UnclaimedPackagesResponseSchema\n>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// Auth Schemas\n// =============================================================================\n\n/** User profile response from /app/auth/me */\nexport const UserProfileSchema = z.object({\n id: z.string(),\n email: z.string().email(),\n emailVerified: z.boolean(),\n username: z.string().nullable(),\n name: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n githubUsername: z.string().nullable(),\n githubLinked: z.boolean(),\n verified: z.boolean(),\n publishedBundles: z.number(),\n totalDownloads: z.number(),\n role: z.string().nullable(),\n createdAt: z.union([z.string(), z.date()]).nullable(),\n lastLoginAt: z.union([z.string(), z.date()]).nullable(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n","import { z } from 'zod';\n\n// =============================================================================\n// Agent Skills Specification - Skill Frontmatter Schema\n// https://agentskills.io/specification\n// =============================================================================\n\n/**\n * Skill name validation.\n * 1-64 characters, lowercase alphanumeric with single hyphens,\n * cannot start or end with hyphen.\n */\nexport const SkillNameSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(\n /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,\n 'Lowercase alphanumeric with single hyphens, cannot start/end with hyphen',\n );\n\n/** Skill description (1-1024 characters) */\nexport const SkillDescriptionSchema = z.string().min(1).max(1024);\n\n// =============================================================================\n// Discovery Metadata Extension (via metadata: field)\n// =============================================================================\n\n/** Category taxonomy for skill discovery */\nexport const SkillCategorySchema = z.enum([\n 'development',\n 'writing',\n 'research',\n 'consulting',\n 'data',\n 'design',\n 'operations',\n 'security',\n 'other',\n]);\n\n/** Author information for attribution */\nexport const SkillAuthorSchema = z.object({\n name: z.string().min(1),\n url: z.string().url().optional(),\n email: z.string().email().optional(),\n});\n\n/** Example usage for discovery */\nexport const SkillExampleSchema = z.object({\n prompt: z.string().min(1),\n context: z.string().optional(),\n});\n\n/**\n * Discovery metadata (via metadata: field in frontmatter).\n * All fields optional; skills can start minimal and add discovery metadata later.\n */\nexport const SkillDiscoveryMetadataSchema = z\n .object({\n tags: z.array(z.string().max(32)).max(10).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string().max(128)).max(20).optional(),\n keywords: z.array(z.string().max(32)).max(30).optional(),\n author: SkillAuthorSchema.optional(),\n version: z.string().optional(),\n examples: z.array(SkillExampleSchema).max(5).optional(),\n })\n .passthrough();\n\n// =============================================================================\n// Complete SKILL.md Frontmatter Schema\n// =============================================================================\n\n/**\n * Complete SKILL.md frontmatter schema.\n * Combines official Agent Skills spec with discovery metadata extension.\n */\nexport const SkillFrontmatterSchema = z.object({\n name: SkillNameSchema,\n description: SkillDescriptionSchema,\n version: z.string().optional(),\n license: z.string().optional(),\n compatibility: z.string().max(500).optional(),\n 'allowed-tools': z.string().optional(),\n metadata: SkillDiscoveryMetadataSchema.optional(),\n});\n\n// =============================================================================\n// Registry API Schemas\n// =============================================================================\n\n/** Scoped skill name for registry (e.g., @nimblebraininc/strategic-thought-partner) */\nexport const ScopedSkillNameSchema = z\n .string()\n .regex(/^@[a-z0-9][a-z0-9-]*\\/[a-z0-9][a-z0-9-]*$/, 'Scoped name format: @scope/name');\n\n/** Skill artifact info for announce endpoint */\nexport const SkillArtifactSchema = z.object({\n filename: z.string().regex(/\\.skill$/, 'Must have .skill extension'),\n sha256: z.string().length(64),\n size: z.number().int().positive(),\n});\n\n/** Announce request for POST /v1/skills/announce */\nexport const SkillAnnounceRequestSchema = z.object({\n name: ScopedSkillNameSchema,\n version: z.string(),\n skill: SkillFrontmatterSchema,\n release_tag: z.string(),\n prerelease: z.boolean().optional().default(false),\n artifact: SkillArtifactSchema,\n});\n\n/** Announce response */\nexport const SkillAnnounceResponseSchema = z.object({\n skill: z.string(),\n version: z.string(),\n status: z.enum(['created', 'exists']),\n});\n\n// =============================================================================\n// Search/List API Schemas\n// =============================================================================\n\n/** Skill search parameters */\nexport const SkillSearchParamsSchema = z.object({\n q: z.string().optional(),\n tags: z.string().optional(),\n category: SkillCategorySchema.optional(),\n sort: z.enum(['downloads', 'recent', 'name']).optional(),\n limit: z.union([z.string(), z.number()]).optional(),\n offset: z.union([z.string(), z.number()]).optional(),\n});\n\n/** Skill summary for search results */\nexport const SkillSummarySchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n});\n\n/** Skill search response */\nexport const SkillSearchResponseSchema = z.object({\n skills: z.array(SkillSummarySchema),\n total: z.number(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n has_more: z.boolean(),\n }),\n});\n\n/** Skill detail response */\nexport const SkillDetailSchema = z.object({\n name: z.string(),\n description: z.string(),\n latest_version: z.string(),\n license: z.string().optional(),\n compatibility: z.string().optional(),\n allowed_tools: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n category: SkillCategorySchema.optional(),\n triggers: z.array(z.string()).optional(),\n downloads: z.number(),\n published_at: z.string(),\n author: SkillAuthorSchema.optional(),\n examples: z.array(SkillExampleSchema).optional(),\n versions: z.array(\n z.object({\n version: z.string(),\n published_at: z.string(),\n downloads: z.number(),\n }),\n ),\n});\n\n/** Skill download info response */\nexport const SkillDownloadInfoSchema = z.object({\n url: z.string(),\n skill: z.object({\n name: z.string(),\n version: z.string(),\n sha256: z.string(),\n size: z.number(),\n }),\n expires_at: z.string(),\n});\n\n// =============================================================================\n// TypeScript Types\n// =============================================================================\n\nexport type SkillName = z.infer<typeof SkillNameSchema>;\nexport type SkillCategory = z.infer<typeof SkillCategorySchema>;\nexport type SkillAuthor = z.infer<typeof SkillAuthorSchema>;\nexport type SkillExample = z.infer<typeof SkillExampleSchema>;\nexport type SkillDiscoveryMetadata = z.infer<typeof SkillDiscoveryMetadataSchema>;\nexport type SkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;\nexport type ScopedSkillName = z.infer<typeof ScopedSkillNameSchema>;\nexport type SkillArtifact = z.infer<typeof SkillArtifactSchema>;\nexport type SkillAnnounceRequest = z.infer<typeof SkillAnnounceRequestSchema>;\nexport type SkillAnnounceResponse = z.infer<typeof SkillAnnounceResponseSchema>;\nexport type SkillSearchParams = z.infer<typeof SkillSearchParamsSchema>;\n/** Input type — all fields optional (before defaults are applied). */\nexport type SkillSearchParamsInput = z.input<typeof SkillSearchParamsSchema>;\nexport type SkillSummary = z.infer<typeof SkillSummarySchema>;\nexport type SkillSearchResponse = z.infer<typeof SkillSearchResponseSchema>;\nexport type SkillDetail = z.infer<typeof SkillDetailSchema>;\nexport type SkillDownloadInfo = z.infer<typeof SkillDownloadInfoSchema>;\n","import { z } from \"zod\";\n\n// =============================================================================\n// mpak.json Schema Definition\n//\n// Defines the schema for mpak.json files placed in GitHub repositories to\n// claim ownership of packages in the registry.\n//\n// Location: https://github.com/{owner}/{repo}/mpak.json\n//\n// Example:\n// {\n// \"$schema\": \"https://cdn.mpak.dev/schemas/2025-10-19/mpak.json\",\n// \"name\": \"@username/package-name\",\n// \"maintainers\": [\"github-username\"]\n// }\n// =============================================================================\n\n/** Schema version (update when making breaking changes) */\nexport const MPAK_SCHEMA_VERSION = \"2025-10-19\";\n\n/** Canonical schema URL for IDE autocompletion */\nexport const MPAK_SCHEMA_URL = `https://cdn.mpak.dev/schemas/${MPAK_SCHEMA_VERSION}/mpak.json`;\n\n// =============================================================================\n// Zod Schema\n// =============================================================================\n\n/** Scoped package name pattern */\nconst ScopedPackageNamePattern =\n /^@[a-z0-9][a-z0-9-]{0,38}\\/[a-z0-9][a-z0-9-]{0,213}$/;\n\n/** GitHub username pattern */\nconst GitHubUsernamePattern = /^[a-z0-9][a-z0-9-]{0,38}$/i;\n\n/** Zod schema for mpak.json */\nexport const MpakJsonSchema = z.object({\n $schema: z.string().optional(),\n name: z\n .string()\n .regex(\n ScopedPackageNamePattern,\n \"Package name must be scoped (e.g., @username/package-name)\",\n ),\n maintainers: z\n .array(\n z\n .string()\n .regex(GitHubUsernamePattern, \"Must be a valid GitHub username\"),\n )\n .min(1, \"At least one maintainer is required\"),\n version: z.string().optional(),\n});\n\n/** TypeScript type for mpak.json */\nexport type MpakJson = z.infer<typeof MpakJsonSchema>;\n\n// =============================================================================\n// JSON Schema (for IDE autocomplete and CDN hosting)\n// =============================================================================\n\n/** JSON Schema definition for mpak.json */\nexport const MPAK_JSON_SCHEMA = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $id: MPAK_SCHEMA_URL,\n title: \"mpak.json\",\n description:\n \"Configuration file for claiming package ownership in the mpak registry\",\n type: \"object\" as const,\n required: [\"name\", \"maintainers\"],\n properties: {\n $schema: {\n type: \"string\" as const,\n description: \"JSON Schema URL for validation\",\n default: MPAK_SCHEMA_URL,\n },\n name: {\n type: \"string\" as const,\n description:\n \"Package name in the registry (must be scoped, e.g., @username/package)\",\n pattern: \"^@[a-z0-9][a-z0-9-]{0,38}/[a-z0-9][a-z0-9-]{0,213}$\",\n },\n maintainers: {\n type: \"array\" as const,\n description: \"GitHub usernames of package maintainers\",\n items: {\n type: \"string\" as const,\n pattern: \"^[a-z0-9][a-z0-9-]{0,38}$\",\n },\n minItems: 1,\n },\n version: {\n type: \"string\" as const,\n description: \"Schema version\",\n },\n },\n additionalProperties: false,\n} as const;\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Generate an example mpak.json content string.\n */\nexport function generateMpakJsonExample(\n packageName: string,\n githubUsername: string,\n): string {\n const example: MpakJson = {\n $schema: MPAK_SCHEMA_URL,\n name: packageName,\n maintainers: [githubUsername],\n };\n return JSON.stringify(example, null, 2);\n}\n","import { z } from \"zod\";\nimport { PlatformInfoSchema } from \"./api-responses.js\";\n\n// =============================================================================\n// Cache Metadata\n// =============================================================================\n\n/**\n * Zod schema for the `.mpak-meta.json` file written alongside cached bundles.\n *\n * `.strict()` rejects unknown fields so corrupted or hand-edited files\n * are caught on read rather than silently accepted.\n */\nexport const CacheMetadataSchema = z\n .object({\n version: z.string(),\n pulledAt: z.string(),\n lastCheckedAt: z.string().optional(),\n platform: PlatformInfoSchema,\n })\n .strict();\n\nexport type CacheMetadata = z.infer<typeof CacheMetadataSchema>;\n\n// =============================================================================\n// Cached Bundle Info\n// =============================================================================\n\n/**\n * Summary of a bundle stored in the local cache.\n * Returned by `BundleCache.listCachedBundles()` and consumed by CLI\n * commands like `mpak outdated`.\n */\nexport interface CachedBundleInfo {\n name: string;\n version: string;\n pulledAt: string;\n cacheDir: string;\n}\n","import type { z } from \"zod\";\n\nimport {\n AnnounceRequestSchema,\n BundleDetailSchema,\n BundleSchema,\n BundleSearchResponseSchema,\n DownloadInfoSchema,\n MCPBIndexSchema,\n PackageDetailSchema,\n PackageSchema,\n PackageSearchResponseSchema,\n VersionDetailSchema,\n VersionsResponseSchema,\n} from \"./api-responses.js\";\nimport { UserProfileSchema } from \"./auth.js\";\nimport { MpakJsonSchema } from \"./mpak-json.js\";\nimport { PackageSearchParamsSchema } from \"./package.js\";\nimport {\n SkillAnnounceRequestSchema,\n SkillDetailSchema,\n SkillFrontmatterSchema,\n SkillSearchResponseSchema,\n} from \"./skill.js\";\n\n// =============================================================================\n// Validation Result Type\n// =============================================================================\n\n/**\n * Result of a schema validation.\n * On success, `data` contains the parsed (and typed) value.\n * On failure, `errors` contains human-readable error messages.\n */\nexport type ValidationResult<T> =\n | { success: true; data: T; errors?: undefined }\n | { success: false; data?: undefined; errors: string[] };\n\n// =============================================================================\n// Generic Validator\n// =============================================================================\n\n/**\n * Validate unknown data against a Zod schema, returning a friendly result.\n */\nfunction validate<T>(\n schema: z.ZodType<T>,\n data: unknown,\n): ValidationResult<T> {\n const result = schema.safeParse(data);\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n const errors = result.error.issues.map((issue) => {\n const path = issue.path.length > 0 ? issue.path.join(\".\") : \"(root)\";\n return `${path}: ${issue.message}`;\n });\n\n return { success: false, errors };\n}\n\n// =============================================================================\n// Package & Bundle Validators\n// =============================================================================\n\n/** Validate data as a Package (list item). */\nexport function validatePackage(data: unknown) {\n return validate(PackageSchema, data);\n}\n\n/** Validate data as a PackageDetail (single-package endpoint). */\nexport function validatePackageDetail(data: unknown) {\n return validate(PackageDetailSchema, data);\n}\n\n/** Validate data as a PackageSearchResponse. */\nexport function validatePackageSearchResponse(data: unknown) {\n return validate(PackageSearchResponseSchema, data);\n}\n\n/** Validate search parameters. */\nexport function validatePackageSearchParams(data: unknown) {\n return validate(PackageSearchParamsSchema, data);\n}\n\n/** Validate data as a Bundle (v1 API). */\nexport function validateBundle(data: unknown) {\n return validate(BundleSchema, data);\n}\n\n/** Validate data as a BundleDetail (v1 API). */\nexport function validateBundleDetail(data: unknown) {\n return validate(BundleDetailSchema, data);\n}\n\n/** Validate data as a BundleSearchResponse (v1 API). */\nexport function validateBundleSearchResponse(data: unknown) {\n return validate(BundleSearchResponseSchema, data);\n}\n\n/** Validate data as a VersionsResponse (v1 API). */\nexport function validateVersionsResponse(data: unknown) {\n return validate(VersionsResponseSchema, data);\n}\n\n/** Validate data as a VersionDetail (v1 API). */\nexport function validateVersionDetail(data: unknown) {\n return validate(VersionDetailSchema, data);\n}\n\n/** Validate data as DownloadInfo (v1 API). */\nexport function validateDownloadInfo(data: unknown) {\n return validate(DownloadInfoSchema, data);\n}\n\n/** Validate data as an MCPBIndex. */\nexport function validateMCPBIndex(data: unknown) {\n return validate(MCPBIndexSchema, data);\n}\n\n/** Validate an announce request payload. */\nexport function validateAnnounceRequest(data: unknown) {\n return validate(AnnounceRequestSchema, data);\n}\n\n// =============================================================================\n// Auth Validators\n// =============================================================================\n\n/** Validate data as a UserProfile. */\nexport function validateUserProfile(data: unknown) {\n return validate(UserProfileSchema, data);\n}\n\n// =============================================================================\n// mpak.json Validators\n// =============================================================================\n\n/** Validate data as an mpak.json file. */\nexport function validateMpakJson(data: unknown) {\n return validate(MpakJsonSchema, data);\n}\n\n// =============================================================================\n// Skill Validators\n// =============================================================================\n\n/** Validate SKILL.md frontmatter. */\nexport function validateSkillFrontmatter(data: unknown) {\n return validate(SkillFrontmatterSchema, data);\n}\n\n/** Validate a skill announce request. */\nexport function validateSkillAnnounceRequest(data: unknown) {\n return validate(SkillAnnounceRequestSchema, data);\n}\n\n/** Validate a skill search response. */\nexport function validateSkillSearchResponse(data: unknown) {\n return validate(SkillSearchResponseSchema, data);\n}\n\n/** Validate a skill detail response. */\nexport function validateSkillDetail(data: unknown) {\n return validate(SkillDetailSchema, data);\n}\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z"]} |
+1
-1
| { | ||
| "name": "@nimblebrain/mpak-schemas", | ||
| "version": "0.1.0", | ||
| "version": "0.2.0", | ||
| "description": "Shared Zod schemas and TypeScript types for the mpak registry", | ||
@@ -5,0 +5,0 @@ "author": "NimbleBrain <engineering@mpak.dev>", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
332050
12.89%3645
10.76%